2015-03-31 102 views
11

我試圖讓我圍繞如何模糊搜索頭適用於AWS CloudSearchCloudsearch模糊的術語和短語

我想找到「星球大戰」,但在我的搜索,我拼了

ster wers 

我的應用程序的邏輯將增加模糊,但它永遠不會返回星球大戰。 我試過了:

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

我在這裏錯過了什麼?

回答

12

您的查詢不起作用的原因是由於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控制檯,去分析方案 - >添加的分析方案: enter image description here

  2. 然後去索引選項和你的領域配置爲使用新的無-stemming分析方案: enter image description here

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

這將解決您的問題,但當然您將失去阻塞的好處。你不能吃你的蛋糕,也不能吃。