我是Azure认知搜索的新手。我正在使用Azure blob存储来存储文档(.docx
)。每当我使用带有命中突出显示功能的查询短语(例如:“政府规则”)从存储在Azure blob中的文档中搜索特定信息时,无论“政府”和“规则”术语在哪里,都会突出显示来自文档的结果当下。因此,我从文档中获得了一些不相关的信息,这些信息仅具有“规则”术语。
有什么方法可以从文档中仅获取用户想要了解的特定部分(仅类似于“政府规则”),而不是获取与查询短语中至少一个术语匹配的部分。
请帮助我。预先谢谢你。
答案 0 :(得分:0)
快速说明。 Azure认知搜索和所有其他搜索引擎使用称为“倒排索引”的数据结构。它基本上是一个索引,用于存储文档的ID和频率(搜索到的单词出现在文档中的次数)。
例如:
如果您搜索“ 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