2013-05-21 49 views
1

我們的系統中有用戶,他們的暱稱可以包含逗號,這是Elasticsearch用於單獨值的特殊字符。我已經存儲了以下用戶:在Elasticsearch中搜索包含逗號的字段

{ 
    "nickname" : "John" 
} 

{ 
    "nickname" : "John,2" 
} 

如果我執行查詢nickname:John我得到兩個文件有什麼不預期。

我不確定我需要什麼。我的意思是一個標記,檢...

在此先感謝

+0

,你要問自己的另一個問題:你想'john'匹配'John'有關

的更多信息? – javanna

回答

2

字符串字段默認情況下,在ElasticSearch分析,這就是爲什麼你的第二個用戶與2項索引:「約翰」和「2」和匹配您的nickname:John查詢。

如果您希望不要分析您的暱稱(將其視爲單個字符串),則必須將此字段的映射明確設置爲「keyword」。 http://www.elasticsearch.org/guide/reference/index-modules/analysis/keyword-analyzer/和有關測繪API:http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping/

+0

謝謝!這是我正在尋找的。現在我必須處理MongoDB河流。 – Quaiks

相關問題