我是Azure认知搜索的新手。我有一个docx文件存储在azure blob存储中。我正在使用#Microsoft.Skills.Text.SplitSkill 将文档拆分为多个页面(块)。但是当我索引此文件的输出时技巧,我正在获取整个docx文件的内容。如何从SplitSkill返回“页面”,以便用户看到通过搜索找到的原始文档部分,而不是返回整个文档?
请帮助我。谢谢。
答案 0 :(得分:0)
拆分技能使您可以将文本拆分为较小的块/页面,然后可以通过其他认知技能对其进行处理。
下面是进行拆分和翻译的简约技能集的样子:
"skillset": [
{
"@odata.type": "#Microsoft.Skills.Text.SplitSkill",
"textSplitMode": "pages",
"maximumPageLength": 1000,
"defaultLanguageCode": "en",
"inputs": [
{
"name": "text",
"source": "/document/content"
},
{
"name": "languageCode",
"source": "/document/language"
}
],
"outputs": [
{
"name": "textItems",
"targetName": "mypages"
}
]
},
{
"@odata.type": "#Microsoft.Skills.Text.TranslationSkill",
"name": "#2",
"description": null,
"context": "/document/mypages/*",
"defaultFromLanguageCode": null,
"defaultToLanguageCode": "es",
"suggestedFrom": "en",
"inputs": [
{
"name": "text",
"source": "/document/mypages/*"
}
],
"outputs": [
{
"name": "translatedText",
"targetName": "translated_text"
}
]
}
]
请注意,拆分技能在丰富树的“ \ document \ mypages”节点下生成了一组文本元素。同样不是通过向翻译技能提供上下文“ \ document \ mypages *”来告诉翻译技能在“每个页面”上执行翻译。
我应该指出,尽管如此,文档仍将在文档级别建立索引。并不是真正建立技能集来“改变索引的基数”。也就是说,一种解决方法可能是将每个页面作为单独的元素投影到知识存储中,然后创建一个实际上专注于为每个页面建立索引的单独索引。
在此处了解有关知识库的更多信息: https://docs.microsoft.com/en-us/azure/search/knowledge-store-concept-intro