无法在azure搜索服务(documentdb)中搜索子对象字段?

时间:2016-09-22 08:59:03

标签: azure azure-cosmosdb azure-search

我对azure搜索很新,基本上我创建了数据库和一个集合,这个集合有很少的文档,我也创建了一个索引。

我使用REST API搜索文档, 1)我的休息api服务如下

 GET  https://xxxx.search.windows.net/indexes/[xxx]/docs?search=xxx&searchFields=xxxx&api-version=2015-02-28

2)我的文件:{       “ABC”: “abcvalue”        “xyz”:{               “核心价值”,                “kay1”: “VALUE1”             }
    }

搜索结果输出为: {     “@ odata.context”:“https://xxx.search.windows.net/indexes('xxx')/ $ metadata#docs(id,key,key1)”,     “价值”:[         {             “@ search.score”:1,             “id”:“ccc485a8-18ea-8f06-9582-80a35ee9c567”,             “key”:null,             “key1”:null         },         {             “@ search.score”:1,             “id”:“bad34bb1-ed9a-bfb9-46e9-be97ac52680c”,             “key”:null,             “key1”:null         } }

但我们无法搜索子对象(xyz)文件,其中iam缺失你可以任何人建议我是任何链接

感谢。

1 个答案:

答案 0 :(得分:1)

简而言之,Azure搜索索引此时只能包含展平文档。这意味着您需要在DocumentDB中获取分层数据并在Azure搜索中将其展平。这篇文章非常精彩,讨论了展平数据的问题here

我希望此信息有所帮助,

Chad Campbell

Adding Search Abilities to your Apps with Azure Search的作者