elasticsearch - NEST编码问题?

标签 elasticsearch nest

使用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/

相关文章:

c# - 一次调用即可接收按文档类型分组的搜索结果(NEST,AWS Elasticsearch)

ruby-on-rails - 如何使用 elasticsearch-rails 为多对多关联设置映射

c# - 在Elasticsearch中分组搜索结果

elasticsearch - 如何在Elasticsearch中获取每个文档的重要术语聚合?

elasticsearch - 查看已完成的 Elasticsearch 任务

elasticsearch - Elasticsearch ngram token 生成器返回所有结果,无论查询输入如何

elasticsearch - 嵌套没有对象名称的 DeleteByQuery

c# - C# Elasticsearch 查询,匹配多个查询

php - 范围字符串为整数

postgresql - 我应该使用 elasticsearch 进行非自由文本搜索吗