我已经设置了一个包含地址记录的Amazon CloudSearch域。我想在地址字段上进行模糊文本搜索。
说我有以下地址的记录:
1600 Amphitheatre Parkway, Mountain View, CA 94043.
如果我搜索'Amphitheatre Parkway, Muntain View'~5
,我就没有结果。我基本上删除了“山”中的“o”,但没有找到任何结果。
如果我搜索Muntain~5
它会找到它,但如果我搜索Miunntain~5
则找不到任何内容。
我应该添加我创建了一个自由文本分析方案,没有词干,停用词或同义词。这是用于text
类型的地址字段的内容。
我应该如何设置CloudSearch以便能够执行这些类型的查询?
答案 0 :(得分:3)
查询'Amphitheatre Parkway, Muntain View'~5
实际上正在执行模糊/草率词组搜索,在此搜索中,这些词在彼此的5个单词中搜索。我不认为这是你的意图。
Miunntain~5
查询非常有趣:确实没有返回任何结果,但miunntain~5
(小写字母m)确实如此:
我注意到在我的查询中切换小写和大写确实会对匹配得分产生轻微影响,因此大概M可能只会使匹配太弱。我没有很好的解释;它肯定是违反直觉的,所以也许这是一个错误。
最后您关于设置CloudSearch以处理这些查询的实际问题:遗憾的是,CloudSearch并未公开"您的意思是......"来自Solr的拼写检查功能,所以这并不是一个很好的方法。在事物上拍一些tildas就是你能做的最好的事情。
请参阅http://docs.aws.amazon.com/cloudsearch/latest/developerguide/searching-text.html