2013-07-08 42 views
0

類我索引看起來是這樣的:如何使用Nest在ElasticSearch中將字段搜索爲純文本?

Class ResData 
{ 
    public string FullName {get;set;} 
} 

我想尋找類似string.contains的方式FullName域,不使用令牌進行比較。我知道這可以通過標記字段[ElasticProperty(Index = FieldIndexOption.not_analyzed)]來完成,但這似乎不起作用。當我用client.Analyze進行測試時,我得到一個令牌列表,並且搜索domo kundomo kuny不匹配,但確實匹配kun domo

任何幫助?

回答

1

通過標記字段not_analyze elasticsearch將採取字段值。這通常適用於您要排序或進行排序的字段,但不適用於全文搜索。

我會離開標準分析器,然後嘗試match_phrase_prefix查詢:

http://www.elasticsearch.org/guide/reference/query-dsl/match-query/

+0

感謝您的回答,那沒有工作。但是,對於稍後閱讀此內容的任何人,如果要像在string.contains中一樣搜索ES中的字段,則可能沒有正確處理您的問題。我當然沒有。 – Ridiculous

相關問題