【问题标题】:Azure search autocomplete partial terms and fuzzy searchAzure 搜索自动完成部分术语和模糊搜索
【发布时间】:2022-02-15 03:33:26
【问题描述】:

我正在通过最新的 SDK 版本使用 自动完成 功能。

我想为部分条款启用自动完成功能:

icro -> "微软"

bunt -> “ubuntu”

等等

我尝试在搜索词中添加“~”或“*”,但没有得到任何结果。

我在 ACS 文档中找不到任何参考。

有没有办法通过自动完成 API 来支持这一点?

此外,使用 fuzzy 选项根本不适用于自动完成功能。

我尝试了“nicro”搜索词并希望得到“microsoft”。 (有或没有“~”作为后缀)

我也尝试了“nicrosoft”,但没有得到任何东西。 (有或没有“~”作为后缀)

当只使用“microsoft”的任何前缀时,我会得到预期的结果。

【问题讨论】:

    标签: azure-cognitive-search


    【解决方案1】:

    匹配作用于输入字符串中词条的开头。 Autocompletesuggestions 将匹配以您输入的单词开头的部分版本,例如如果您为该字段配置了 Suggester,则“mic”将返回“microsoft”,但不匹配部分中缀术语像“微”。

    Autocomplete 支持的配置在此处列出:https://docs.microsoft.com//azure/search/search-add-autocomplete-suggestions

    默认语言分析器是标准 Lucene,由于模糊搜索,您可能会考虑考虑使用不同的语言分析器:https://docs.microsoft.com/azure/search/search-query-fuzzy#indexing-for-fuzzy-search。 Verbatim: " 但是,如果测试查询没有产生您期望的匹配,您可以尝试改变索引分析器,将其设置为语言分析器,看看是否可以获得更好的结果。某些语言,尤其是元音突变的语言, 可以从 Microsoft 自然语言处理器生成的变形和不规则词形中受益。在某些情况下,使用正确的语言分析器可以在是否以与用户提供的值兼容的方式对术语进行标记化方面产生影响"

    另外,请注意语言分析器可能没有公司/产品词(如 Microsoft、Ubuntu 等),因此如果它们不在语言词典中,模糊搜索将不会返回任何结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-20
      • 1970-01-01
      • 2019-01-11
      • 2017-06-21
      • 2023-03-13
      • 2021-10-04
      • 1970-01-01
      • 2021-07-09
      相关资源
      最近更新 更多