Cloudsearch 模糊术语和短语

Cloudsearch Fuzzy terms and phrases

提问人:dmo 提问时间:3/31/2015 更新时间:4/28/2015 访问量:2133

问:

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

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

ster wers

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

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

我在这里错过了什么?

网络服务 亚马逊 云搜索

评论


答:

13赞 alexroussos 4/28/2015 #1

查询不起作用的原因是 CloudSearch 的词干处理方式。如果在将“分析方案”设置为 的情况下对字段进行索引,则将以 的词干形式存储为 。Englishwarswar

下面是一个关于词干提取如何影响查询的小演示。

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

使用非词干查询进行搜索需要匹配 ,该查询相差 2 个字符,并且需要以下查询:。werswarq=ster~1+wers~2

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

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

如何解决:

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

  1. 为此,请登录 AWS Web 控制台并转到 Analysis Schemes --> Add Analysis Scheme:enter image description here

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

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

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