2013-04-16 22 views
1

使用NEST + ElasticSearch,我懷疑需要特殊編碼的字符處理不當。例如:這不會返回任何結果NEST編碼問題?

var results = 
client.Search<MyClass>(s => s.Query(q => q.Term(t => t.ProgrammingLanguage, "C#"))); 

但使用例如「Ruby」替換「C#」後工作正常。看索引,這兩個搜索應該有結果。

已知的問題?有沒有解決方法?

回答

2

這是不是一個編碼問題,但或多或​​少如何lucene和代理彈性搜索工作。

默認的分析器將分割單詞,所以C#將變成'c'。查看elasticsearch分析器,以便使用類似關鍵字分析器的方式來存儲您的字段數據。

查看http://www.elasticsearch.org/guide/reference/index-modules/analysis/瞭解更多信息

+0

好的,會做的。謝謝! – Max