【问题标题】:Cloudsearch Fuzzy terms and phrasesCloudsearch 模糊术语和短语
【发布时间】:2015-04-28 07:39:04
【问题描述】:

我正在努力了解模糊搜索在 AWS CloudSearch 上的工作原理

我想找到“星球大战”,但在我的搜索中,我拼写了它

ster wers

我的应用程序的逻辑会添加模糊,但它永远不会返回星球大战。 我试过了:

ster~1 wers~1
"ster wers"~2
"ster"~1 "wers"~1

我在这里错过了什么?

【问题讨论】:

    标签: amazon-web-services amazon-cloudsearch


    【解决方案1】:

    您的查询不起作用的原因是 CloudSearch 的来源。如果您的字段在分析方案设置为English 的情况下被索引,那么wars 将以其词干形式存储为war

    这里有一个关于词干如何影响查询的小演示。

    使用非词干查询(“ster wers”)进行搜索:

    使用非词干查询进行搜索需要您将 werswar 匹配,后者相差 2 个字符并需要此查询:q=ster~1+wers~2

    使用词干查询('ster wer')进行搜索:

    使用词干版本搜索意味着您将 werwar 匹配,并且您只差 1 个字符。因此ster~1 wer~1 会得到想要的结果(即匹配star wars)。

    如何解决:

    如果您将相关字段的分析方案配置为不使用任何词干提取,则您描述的用例将起作用。

    1. 为此,请登录 AWS Web 控制台并转到分析方案 --> 添加分析方案:

    2. 然后转到索引选项并配置您的字段以使用新的无词干分析方案:

    3. 提交您的更改并重新索引。

    这将解决您的问题,但您当然会失去词干提取的好处。你不能一边吃蛋糕一边吃。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-02
      • 2010-12-29
      • 1970-01-01
      • 2019-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多