短語使用通配符使用通配符,我可以匹配方面開始與一些值:與Elasticsearch查詢字符串查詢
{
"query": {
"query_string" : {
"query" : "subject:cell*"
}
}
}
這裏subject
字段是keyword
場(非分析)。這工作正常,但我無法弄清楚如何找到以「蜂窩控制」開始的術語。嘗試雙引號沒有取得預期的結果:
{
"query": {
"query_string" : {
"query" : "subject:\"cellular contr*\""
}
}
}
注:短語搜索正常工作與精確匹配,只是沒有用通配符。我的猜測是星號不是在雙引號內被解釋爲通配符運算符。那是對的嗎?還有什麼其他的方式來使用帶有短語的通配符運算符嗎?
注:我必須使用Query String Query,因爲查詢來自用戶輸入。
(我知道我可以訴諸正則表達式,但不希望)
默認值爲'false',因此將其明確設置爲false應該沒有任何區別。但我爲了以防萬一,它被解釋爲「(subject:cellular)or(contr *)」,而不是我想要的。我也嘗試過使用'analyze_wildcard'和'auto_generate_phrase_queries',但沒有成功(雖然文檔與他們所做的事情有點相似) – danmichaelo