【问题标题】:How to treat the whole sentence as one token in Azure Search如何在 Azure 搜索中将整个句子视为一个标记
【发布时间】:2018-05-13 14:35:16
【问题描述】:

我们面临着使用 Azure 搜索执行精确匹配并忽略大小写敏感的问题。

例如,我们有一个名为 Description 的字段,它可以是小句或长句(例如:Welcome to Azure Search)。我们试图将整个句子视为一个标记,这样当用户搜索“Welcome to”时,它不会返回结果,因为我们必须搜索“Welcome to Azure Search”才能进行完全匹配。另一个要求是我们希望能够搜索不区分大小写,以便搜索“欢迎使用 Azure SEARCH”将返回结果。

我使用 Keyword Analyzer 将整个字段视为单个标记,但这会阻止不区分大小写的搜索工作。

我还尝试使用 keyword_v2 标记器和 lowercase 标记过滤器定义自定义分析器。看起来这将解决我的问题,但是最大令牌长度限制为 300。在某些情况下,描述字段会是一个超过 300 个字符的长句。

我还考虑将索引字段复制为小写并使用 OData 语法 $filter=Description eq 'welcome to azure search'。比如会有两个字段:“Description”“DescriptionLowerCase”,搜索的时候搜索“DescriptionLowerCase”,什么时候搜索返回结果,返回“描述”。但这会使索引存储的大小翻倍。

有没有更好的方法来解决我的问题?

【问题讨论】:

    标签: indexing odata analyzer azure-cognitive-search


    【解决方案1】:

    您几乎涵盖了所有可用选项。目前没有解决大小限制的方法,否则搜索将影响性能。现在,为什么您需要对超过 300 个字符的整个字符串进行完全匹配,这超出了我的理解。您是否尝试过在搜索中使用引号?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多