Azure搜索-条件字段映射

时间:2018-08-30 09:53:41

标签: indexing mapping multilingual microsoft-cognitive azure-search

这是我的问题。 我正在建立一个索引,其中包含一个充满文档(docx,pptx,txt,pdf)的blob作为数据源 这些文档使用不同的语言(准确地说是2种,荷兰语(nl)和英语(en))。

要检测语言,我使用了一种内置的技能集,它会向我返回带有语言代码的新输出。

我要做的是根据语言将文档的文本映射到一个字段。 因此,如果文档包含英语文本,那么如果需要荷兰语,则需要转到[text_en]字段,然后需要将其映射到[text_nl]字段。

我该怎么做? 有任何线索吗?

1 个答案:

答案 0 :(得分:1)

自2019年4月起,Azure添加了一项名为'Conditional'的新内置技能。

它允许您指定一个布尔条件(例如“ = $(/ 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" } ]
}

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