Azure 搜索 - 条件字段映射



这就是我的问题。 我正在构建一个索引,其中数据源是一个充满文档的 blob 存储(docx、pptx、txt、pdf( 这些文件使用不同的语言(确切地说是2种,荷兰语(nl(和英语(en((。

为了检测语言,我使用内置技能集之一,该技能集向我返回带有语言代码的新输出。

我想做的是将文档的文本映射到一个字段,具体取决于语言。 因此,如果文档包含英文文本,则需要转到字段 [text_en],如果是荷兰语,则需要将其映射到 [text_nl] 字段。

我该怎么做? 有人知道吗?

截至 2019 年 4 月,Azure 添加了一个名为"条件"的新内置技能。

它允许您指定一个布尔条件(例如"= $(/document/language( == 'nl'"(,并根据结果返回一个值,可以是静态的,也可以是链接到文档树的节点。

对于您的情况,它看起来像这样,

{
"@odata.type": "#Microsoft.Skills.Util.ConditionalSkill",
"context": "/document",
"inputs": [
{ "name": "condition", "source": "= $(/document/language) == 'nl'" },
{ "name": "whenTrue", "source": "/document/content" },
{ "name": "whenFalse", "source": "= null" }
],
"outputs": [ { "name": "output", "targetName": "text_nl" } ]
}

您需要为每种语言定义一个条件技能。

相关内容

  • 没有找到相关文章

最新更新