具有CosmosDB数据源的Azure搜索显示集合中的文档,但搜索资源管理器显示所有NULL或EMPTY值

时间:2018-08-08 05:23:03

标签: indexing azure-cosmosdb azure-search

我有一个CosmosDb数据库,其中包含有效的数据文档。 我创建了一个Azure搜索并正确连接了CosmosDB端点,并运行了索引器,该索引器已对500多个文档进行了索引,并用完了149KB的存储空间。但是,当我使用Search Explorer运行简单的“ *”搜索时,除主键和CosmosDb的另一个字段(添加新文档时都会在内部生成)之外,所有结果集均为NULL。我究竟做错了什么?这些字段在数据库中不能为null或为空。

请参见以下屏幕截图:

enter image description here

enter image description here

也显示来自搜索浏览器的JSON:

"value": [
    {
        "@search.score": 1,
        "id": "9ce19abc-a26a-5102-1919-8dcf42100067",
        "StoreName": "",
        "StoreProfile": "",
        "StoreType": "",
        "StoreStatus": "",
        "RBM": "",
        "StoreStateManager": "",
        "StoreFranchiseGroup": "",
        "Street": "",
        "City": "",
        "State": "",
        "Location": "",
        "Precinct": "",
        "AreaPopulation": "",
        "MedianAge": "",
        "MedianHHoldIncome": "",
        "Grading": "",
        "BayCount": "",
        "TenancySqm": "",
        "RetailAreaSqm": "",
        "rid": "BFA1AM5ZblIBAAAAAAAAAA=="
    },
    {
        "@search.score": 1,
        "id": "5fe1ec72-1cc9-593a-fac0-891f8b84df27",
        "StoreName": null,
        "StoreProfile": null,
        "StoreType": null,
        "StoreStatus": null,
        "RBM": null,
        "StoreStateManager": null,
        "StoreFranchiseGroup": null,
        "Street": null,
        "City": null,
        "State": null,
        "Location": null,
        "Precinct": null,
        "AreaPopulation": null,
        "MedianAge": null,
        "MedianHHoldIncome": null,
        "Grading": null,
        "BayCount": null,
        "TenancySqm": null,
        "RetailAreaSqm": null,
        "rid": "BFA1AM5ZblICAAAAAAAAAA=="
    },

正在使用的搜索仅为*,例如

  

... / docs?api-version = 2017-11-11&search = *

1 个答案:

答案 0 :(得分:0)

事实证明,此问题是使用带有空格的列名称。这些最初来自我用来获取CosmosDB原始数据的电子表格。虽然CosmosDB将允许名称中包含空格的列,但会对我造成负面影响

  • 天蓝色搜索
  • CosmosDb查询(通过使用Web App Bot测试相同的数据集来发现)。

从列名称中删除空格并重新测试表明该问题已解决。