使用Azure认知搜索从Docx文件中检索相关数据

时间:2020-03-20 12:33:56

标签: azure azure-functions azure-blob-storage

我是Azure认知搜索的新手。我正在使用Azure blob存储来存储文档(.docx)。每当我使用带有命中突出显示功能的查询短语(例如:“政府规则”)从存储在Azure blob中的文档中搜索特定信息时,无论“政府”和“规则”术语在哪里,都会突出显示来自文档的结果当下。因此,我从文档中获得了一些不相关的信息,这些信息仅具有“规则”术语。

有什么方法可以从文档中仅获取用户想要了解的特定部分(仅类似于“政府规则”),而不是获取与查询短语中至少一个术语匹配的部分。

请帮助我。预先谢谢你。

1 个答案:

答案 0 :(得分:0)

快速说明。 Azure认知搜索和所有其他搜索引擎使用称为“倒排索引”的数据结构。它基本上是一个索引,用于存储文档的ID和频率(搜索到的单词出现在文档中的次数)。

例如:

enter image description here

如果您搜索“ sky”,则将检索文档2和3。但是,如果要“蓝天”,则必须指定两个术语都必须存在于同一文档中,并且一个必须在另一个之前。

在Azure认知搜索中,您可以在双引号内传递该术语,但它只会检索与所提供术语完全匹配的术语。另一种选择是,您可以使用其他分析器进行语音输入。

我建议您研究一下搜索引擎和分析器的工作原理:

https://docs.microsoft.com/en-us/azure/search/search-lucene-query-architecture

(特别是本节) https://docs.microsoft.com/en-us/azure/search/search-lucene-query-architecture#stage-1-query-parsing

https://docs.microsoft.com/en-us/azure/search/index-add-custom-analyzers