我試圖讓我圍繞如何模糊搜索頭適用於AWS CloudSearchCloudsearch模糊的術語和短語
我想找到「星球大戰」,但在我的搜索,我拼了
ster wers
我的應用程序的邏輯將增加模糊,但它永遠不會返回星球大戰。 我試過了:
ster~1 wers~1
"ster wers"~2
"ster"~1 "wers"~1
我在這裏錯過了什麼?
我試圖讓我圍繞如何模糊搜索頭適用於AWS CloudSearchCloudsearch模糊的術語和短語
我想找到「星球大戰」,但在我的搜索,我拼了
ster wers
我的應用程序的邏輯將增加模糊,但它永遠不會返回星球大戰。 我試過了:
ster~1 wers~1
"ster wers"~2
"ster"~1 "wers"~1
我在這裏錯過了什麼?
您的查詢不起作用的原因是由於CloudSearch的原因。如果您的字段使用設置爲English
的分析方案進行索引,那麼wars
將以其起始形式存儲爲war
。
這裏是一個演示如何幹擾影響您的查詢。
與未梗查詢(「STER WERS」)在搜索:
與未梗查詢搜索需要你匹配wers
到war
,這是關閉的2個字符,並且需要這樣的查詢: q=ster~1+wers~2
。
與朵朵查詢(「STER WER」)搜索:
與朵朵版本搜索意味着你匹配wer
到war
而你只掉1個字符。因此ster~1 wer~1
將得到期望的結果(即它匹配star wars
)。
如何解決:
你描述的,如果你有問題配置分析方案領域不使用任何詞幹將工作用例。
要做到這一點,請登錄到AWS Web控制檯,去分析方案 - >添加的分析方案:
然後去索引選項和你的領域配置爲使用新的無-stemming分析方案:
提交您的更改和重新索引。
這將解決您的問題,但當然您將失去阻塞的好處。你不能吃你的蛋糕,也不能吃。