我们正在使用 Azure 认知搜索来索引各种文档,例如Word 或 PDF 文件,存储在 Azure Blob 存储中。我们希望能够翻译提取的非英语文档内容,并将翻译结果存储到索引中的专用字段中。
目前,内置的文本翻译认知技能最多支持输入 50,000 个字符。我们拥有的文档最多可以包含 1 MB 的文本。根据文档,可以使用内置的分割技能将文本分割成块,但是没有任何技能可以将翻译后的块重新合并在一起。我们的目标是将所有提取的文本翻译并存储在 Edm.String 类型的一个索引字段中,而不是数组中。
除了为此目的通过 Web API 创建自定义认知技能之外,有什么方法可以在索引时翻译大文本块?
是的合并技能 https://learn.microsoft.com/en-us/azure/search/cognitive-search-skill-textmerger实际上会这样做。如下定义您的技能集中的技能。此技能的“文本”和“偏移量”输入是可选的,您可以使用“itemsToInsert”指定要合并在一起的文本(指定翻译输出的适当来源)。如果您想在每个合并部分之前或之后插入一个空格,请使用 insertPreTag 和 insertPostTag。
{
"@odata.type": "#Microsoft.Skills.Text.MergeSkill",
"description": "Merge text back together",
"context": "/document",
"insertPreTag": "",
"insertPostTag": "",
"inputs": [
{
"name": "itemsToInsert",
"source": "/document/translation_output/*/text"
}
],
"outputs": [
{
"name": "mergedText",
"targetName" : "merged_text_field_in_your_index"
}
]
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)