2015-02-09 17 views
0

我有一個elasticsearch指數,用所謂的「名」與測繪領域如下:我怎樣才能得到一個搜索詞用空格是一個搜索項

"name": { 
    "type": "string", 
    "fields": { 
     "raw": { 
     "type": "string", 
     "index": "not_analyzed" 
    } 
    } 
}, 

現在讓我們假設我有一個錄製「布魯克林技術高中」。

我想要有人搜索「布魯克林t *」有出現。例如:http://myserver/_search?q=name:brooklyn+t*

看起來好像是在標記搜索詞並搜索「布魯克林」和「t」,因爲我得到的結果如:「Ps 335 Granville T Woods」。

我希望它使用整個術語來搜索not_analyzed術語。將它用引號括起來似乎也沒有幫助。

回答

0

您需要使用term query - 在應用搜索之前,術語查詢不會使用分析器/標記字符串。

{ 
    "query": { 
    "term": { 
     "user": "kimchy" 
    } 
    } 
} 
+0

我試過......「」名字「:」布魯克林t「'沒有給我結果。 – blockhead 2015-02-09 15:56:07

相關問題