2014-07-22 45 views
2

我剛開始研究ElasticSearch,並對模糊查詢有一些疑問。比方說,我有這樣一個文件:ElasticSearch模糊查詢和區分大小寫

{ "name": "Frankie's Hot Dogs" } 

使用模糊查詢,如果我搜索使用下面的參數,我會接收不到任何結果:

"fuzzy": { 
    "name": { 
    "value": "FRANKIES", 
    "fuzziness": 2 
    } 
} 

這是預期的行爲?我想,既然領域進行默認爲標準分析器name字段將被標記化和小寫的東西,如:

["frankie's", "hot", "dogs"] 

所以不會通過模糊查詢搜索自動小寫字母搜索字詞?或者情況並非如此?

最後,有沒有人對查詢數據有任何建議,以便FRANKIES實際上會返回一個命中?

在此先感謝。

回答

1

使用fuzzy_like_this查詢

"query": { 
    "fuzzy_like_this" : { 
     "fields" : ["name"], 
     "like_text" : "FRANKIES" 
    } 
} 
+1

謝謝!這工作。你能解釋爲什麼這個工作時,普通模糊查詢沒有? – Robert