Cloudsearch模糊术语和短语

时间:2015-03-31 11:55:43

标签: amazon-web-services amazon-cloudsearch

我试图了解模糊搜索在AWS CloudSearch上的工作原理

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

ster wers

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

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

我在这里缺少什么?

1 个答案:

答案 0 :(得分:12)

您的查询无法正常工作的原因是CloudSearch的结果。如果您的字段已将Analysis Scheme设置为English,则wars将以war的形式存储。

这是一个关于词干分析如何影响查询的小演示。

使用未查询的查询进行搜索(' ster wers'):

使用非限制性查询进行搜索时,您需要将werswar相匹配,该标记已关闭2个字符,并且需要此查询:q=ster~1+wers~2

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

使用词干版本进行搜索意味着您将werwar匹配,并且您只能使用1个字符。因此ster~1 wer~1将获得所需的结果(即它匹配star wars)。

如何解决:

如果您将相关字段的Analysis Scheme配置为不使用任何词干,则您描述的用例将起作用。

  1. 要执行此操作,请登录AWS Web Console并转至Analysis Schemes - >添加分析方案: enter image description here

  2. 然后转到索引选项并配置您的字段以使用新的非阻塞分析方案: enter image description here

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

  4. 这将解决您的问题,但当然您将失去阻止的好处。你也不能吃蛋糕,也不能吃。