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

How to Add index to a List Column (Azure cosmos ) in Azure Search

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

{
    "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 创建一个可搜索的索引?

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

更新 1

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

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

然后您需要将 indexer with a field mapping/keyPhraseBatchResult/Keys 设置为 keyphrases

Modeling/Mapping 索引中的复杂类型功能是 finally implemented by microsoft

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

Refer here

[注:api-version=2019-05-06]

开始支持