【问题标题】:Azure Cognitive Search: Stop white-spaces to act like separatorAzure 认知搜索:停止空格以充当分隔符
【发布时间】:2020-04-14 18:41:16
【问题描述】:

我们在 Azure 存储中有一些 PDF 文件,并对其应用了索引。当使用单个搜索关键字执行天蓝色搜索时,例如

/docs?search=TG105&searchFields=content&highlight=content

它将返回所有找到关键字 TG105 的位置的 sn-p。这个结果是意料之中的,所以它很好。

但是当用一个完整的句子进行搜索时,例如

/docs?search=什么是 TG105&searchFields=content&highlight=content

它将返回文本 sn-ps,其中每个关键字 what、is、TG105 在内容中分别找到。

假设有一个句子 SIM card is not inserted 它将在突出显示列表中返回为 SIM card <em>is</em> not inserted.

现在的问题是如何进行全句搜索,以便仅突出显示 "what is TG105" 的位置?

【问题讨论】:

    标签: azure azure-cognitive-search azure-search-.net-sdk


    【解决方案1】:

    您只需将搜索词组放在引号内 (Phrase search operator),这样您的查询应该类似于:

    /docs?search=“什么是 TG105”&searchFields=content&highlight=content

    这将返回包含这个确切短语(不区分大小写)和以下亮点的所有文档:

    {
    ...
    "@search.highlights": {
                "content": [
                    "whatever <em>What</em> <em>is</em> <em>TG105</em> whatever"
                ]
            }
    ...
    }
    

    重要提示:您不会获得包含以下内容的文档的结果:

    什么是 TG105

    要注意这一点,是时候使用 queryType=full 和完整的 lucene 语法 Proximity search

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 2020-03-27
      • 1970-01-01
      • 2022-01-24
      • 2020-10-15
      • 2015-03-31
      • 1970-01-01
      相关资源
      最近更新 更多