- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 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 skill到indexer ,以及 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/
我是一名优秀的程序员,十分优秀!