Azure搜索:来自Collection(Edm.String)的平面数据

时间:2016-08-23 18:23:38

标签: azure azure-search

请求Azure搜索服务后,我有以下JSON结构(使用search = *):

 "value": [
        {
            "@search.score": 1,
            "id": "160",
            "title": "title1",
            "description": "description",
            "address": "Ranelagh Gardens, London, SW6 3PR, UK",
            "categories": [
                "{\r\n  \"description\": \"C1\",\r\n  \"id\": \"3\"\r\n}",
                "{\r\n  \"description\": \"C2\",\r\n  \"id\": \"4\"\r\n}"
            ]
        }

我想搜索一些类别,例如description = C1,但我不能。我尝试使用$ filter / categories.any(t:t eq' C1')但是没有工作。

1 个答案:

答案 0 :(得分:1)

不幸的是,Azure Search还不支持这种复杂的数据类型。我会说这是top requested feature,所以它在我们的列表中很高,但我们需要一些时间来实现这一点。

与此同时,您可能希望查看的一些内容是查看是否有选项来展平您的文档。例如,在Azure搜索索引中创建一个名为categoriesDescription的字段是否现实,另一个名为categoriesId的字段是集合类型(基本上是字符串数组)吗?

例如,也许你可以让categoriesDescription包含[" C1"," C2],categoriesID包含[" 3"," 4" ]

Kirk Evans做了一个nice blog post,其中也讨论了扁平JSON文档的主题,你可能会觉得这些文档很有帮助。

利安