如何在Azure搜索中将索引添加到列表列(Azure cosmos)

时间:2019-03-07 12:44:12

标签: indexing azure-cosmosdb azure-search

我的Cosmos数据库中有一个复杂的文档,如下所示

{
    "id": "e064a694-8e1e-4660-a3ef-6b894e9414f7",
    "Name": "Lidiya Lawrence",
    "languageBatchResult": {
        "id": "Lidiya Lawrence",
        "Languages": [
            {
                "name": "English"
            }
        ]
    },
    "keyPhraseBatchResult": {
        "Keys": [
            "Government of India",
            "Training Co-ordinator",
            "customer support",
            "months"
        ]
    }
}

我正在尝试使用此数据实施Azure搜索。

问题是我应该如何创建具有值列表的keyPhraseBatchResult / Keys可搜索的索引?

我已经尝试在天蓝色搜索中使用keyPhraseBatchResult创建一个索引,但是它不起作用。不幸的是,索引仅适用于Name

更新1

添加了keyphrases现在如何映射字段之后?

enter image description here

2 个答案:

答案 0 :(得分:1)

要为/keyPhraseBatchResult/Keys编制索引,您需要首先创建一个Collection(Edm.String) index字段keyphrases来存储列表。

然后,您需要使用indexer/keyPhraseBatchResult/Keyskeyphrases设置field mapping

答案 1 :(得分:0)

在索引功能中建模/映射复杂类型为finally implemented by microsoft

因此,我们有2种新数据类型,分别称为Edm.ComplexTypeCollection(Edm.ComplexType),我们可以轻松地映射索引

Refer here

[注意:api-version = 2019-05-06开始支持]