2015-10-19 90 views
2

我已保存在Elasticsearch記錄包含一個字符串完全等於Clash of clans與QUERY_STRING Elasticsearch

模糊搜索現在我想searchstringElasticsearch,我用這個

{ 
    "query_string" : { 
     "query" : "clash" 
    } 
} 

它的工作完美但現在如果我寫

"query" : "class" 

它不給我回記錄,因此我意識到我應該使用Fuzzy搜索,所以我才知道,我可以使用fuzziness參數與query_string所以我也

{ 
    "query_string" : { 
     "query" : "clas" 
     "fuzziness":1 
    } 
} 

但仍elasticsearch不返回任何東西! 和藹的幫助,我不能使用Fuzzy查詢我只能使用query_string。 感謝

回答

5

您需要使用~ operator有模糊搜索在query_string

{ 
    "query": { 
    "query_string": { 
     "query": "class~" 
    } 
    } 
} 
+0

謝謝你這麼多的兄弟ü[R驚人;) – maq

+0

這爲我工作,謝謝。但是我不知道是否沒有其他方式,因爲我從HTTP參數傳遞查詢,所以我認爲它可能會導致我在將來遇到問題(如果用戶在字符串末尾添加〜字符)。 –