2013-04-16 21 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