使用NEST + ElasticSearch,我怀疑需要特殊编码的字符未正确处理。示例:这不会返回任何结果
var results =
client.Search<MyClass>(s => s.Query(q => q.Term(t => t.ProgrammingLanguage, "C#")));
但在将“C#”替换为“Ruby”之后,仍可以正常工作。查看索引,两个搜索都应该有结果。
已知问题?有解决方法吗?
最佳答案
这是而不是编码问题,而是或多或少的Lucene和代理elasticsearch的工作方式。
默认的分析器将拆分单词,因此C#将仅变为'c'。查看elasticsearch分析器,以便使用关键字分析器之类的内容按原样存储字段数据。
有关更多信息,请参见http://www.elasticsearch.org/guide/reference/index-modules/analysis/
关于elasticsearch - NEST编码问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16041716/