1

使用 NEST+ElasticSearch,我怀疑需要特殊编码的字符没有得到正确处理。示例:这不会返回任何结果

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

但在用例如“Ruby”替换“C#”后工作正常。查看索引,两个搜索都应该有结果。

已知问题?有解决方法吗?

4

1 回答 1

2

不是编码问题,而是或多或少 lucene 和代理 elasticsearch 的工作方式。

默认分析器将拆分单词,因此 C# 将变为“c”。查看弹性搜索分析器,以便使用关键字分析器之类的东西按原样存储您的字段数据。

有关更多信息,请参见http://www.elasticsearch.org/guide/reference/index-modules/analysis/

于 2013-04-25T13:23:08.780 回答