我们是弹性搜索和NEST的新手。NEST elasticsearch -C# - 区分大小写搜索
我们正在尝试使用C#client - NEST进行区分大小写的搜索。 我们已经阅读了很多帖子,但无法弄清楚。有人可以请我们详细的一步一步的指示。
任何帮助将不胜感激。
谢谢, VB。
我们是弹性搜索和NEST的新手。NEST elasticsearch -C# - 区分大小写搜索
我们正在尝试使用C#client - NEST进行区分大小写的搜索。 我们已经阅读了很多帖子,但无法弄清楚。有人可以请我们详细的一步一步的指示。
任何帮助将不胜感激。
谢谢, VB。
尝试TERM查询,传递给TERM查询的值是不会被分析的,因此ES不会使您的输入成为小写。
这里:http://www.elasticsearch.org/guide/reference/query-dsl/term-query/
我知道这是一个老问题,但我在我的研究横跨它跑了。所以,这是我的答案。
首先,切换到TERM查询没有帮助。在了解有关ElasticSearch默认工作方式的更多信息后,我明白了原因。
默认情况下,ElasticSearch为不区分大小写。当文档编入索引时,默认分析器会降低所有字符串值并保留小写值以供将来搜索。这不会影响存储在文档本身中的值,但小写确实会影响搜索。
如果您使用默认分析器,那么您的字符串值的搜索条件应该全部小写。
在我学会了这种工作方式之前,我花了相当长的时间在一个索引文档中查看混合大小写的字段值,然后用一个使用相同混合大小写值的查询词进行搜索。零结果。直到我强制将我的查询使用的值全部写入小写字母,才开始获取结果。你已经试过将有助于使一个开始什么ElasticSearch - Analysis
..以及为什么这不在Nest文档中解释? (同样发生在这里:/) –
一些代码:
你可以阅读更多关于ElasticSearch分析仪在这里。 –