gpt4 book ai didi

azure - 如何在 Azure 搜索中使用复杂的 targetField 创建字段映射

转载 作者:行者123 更新时间:2023-12-04 11:30:58 26 4
gpt4 key购买 nike

我使用 Azure 搜索索引器对 MongoDB CosmosDB 中的文档进行索引,该数据库包含带有名为 _id 字段的对象。由于 Azure 搜索不允许在索引中的字段名称开头使用下划线,因此我想创建字段映射。

Cosmos 中的 JSON 结构 --> 索引中的结构

{
"id": "test"
"name": "test",
"productLine": {
"_id": "123", --> "id": "123"
"name": "test"
}
}

documentation正是这种情况作为示例仅适用于顶级字段。

“fieldMappings”:[{“sourceFieldName”:“_id”,“targetFieldName”:“id”}]}

我尝试了以下方法:

"fieldMappings": [ { "sourceFieldName": "productLine/_id", "targetFieldName": "productLine/id"} ] }

这会导致错误:

值不被接受。有效值:“doc_id”、“名称”、“产品名称”。

为作为子字段的目标字段创建映射的正确方法是什么?

最佳答案

无法直接映射子字段。您可以通过添加 Skillset 来解决此问题与 Shaper cognitive skillindexer ,以及 output field mapping .

您还需要attach a Cognitive Services resource到技能组。 shaper skill doesn't get billed ,但附加认知服务资源允许您 process more than 20 documents per day .

塑造技能

{
"@odata.type": "#Microsoft.Skills.Util.ShaperSkill",
"context": "/document",
"inputs": [
{
"name": "id",
"source": "/document/productLine/_id"
},
{
"name": "name",
"source": "/document/productLine/name"
}
],
"outputs": [
{
"name": "output",
"targetName": "renamedProductLine"
}
]
}

索引器技能组和输出字段映射

"skillsetName": <skillsetName>,
"outputFieldMappings": [
{
"sourceFieldName": "/document/renamedProductLine",
"targetFieldName": "productLine"
}
]

关于azure - 如何在 Azure 搜索中使用复杂的 targetField 创建字段映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59645459/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com