2014-10-27 204 views
3

嘗試使用query_string獲取通配符並彈性搜索精確詞組搜索時出現問題。彈性搜索在query_string中使用通配符精確搜索

想要允許返回的結果將成爲所有變體的精確短語。即「庫爾斯釀酒」,「庫爾斯啤酒廠」,「銀子彈啤酒釀造」等

POST _search 
{ 
"query": { 
    "query_string": { 
    "default_operator": "AND", 
    "analyze_wildcard": true, 
    "query": "\"coors brew*\"" 
    } 
} 
} 

我沒有結婚這種方法,而是想搜索的大多數文件,找到比賽對1或2個字段。

+0

請記住,由於查詢分析結果,您的查詢將匹配「Coors Something_I_Didn't_Really_Wanted_To_Be_Matched Brewery」。如果我沒有弄錯,你應該使用一些奇特的分析儀來處理「字符」。 – 2014-10-30 22:24:26

回答

1

對於match_phrase_prefix查詢(documentation),它似乎是一個完美的用例:你試過了嗎?

如果您需要同時在多個字段上進行查詢,請使用phrase_prefix類型(documentation)查看multi_match查詢。

與基於wilcard的query_string查詢的區別在於匹配查詢未解析,儘管不支持query_string syntax