NEST elasticsearch -C# - 区分大小写的搜索

Vis*_*hal 2 case-sensitive c#-4.0 elasticsearch nest

我们是弹性搜索和NEST的新手.

我们正在尝试使用C#客户端 - NEST进行区分大小写的搜索.我们已经阅读了很多帖子,但无法弄明白.有人可以通过详细的分步说明来取悦我们.

任何帮助将受到高度赞赏.

谢谢,VB.

Agg*_*ric 6

我知道这是一个较老的问题,但我在研究中遇到了它.所以,这是我的答案.

首先,切换到TERM查询没有帮助.在了解了ElasticSearch默认情况下的工作原理后,我明白了原因.

默认情况下,ElasticSearch 不区分大小写.索引文档时,默认分析器会降低所有字符串值的大小,并保留小写值以供将来搜索.这不会影响文档本身存储的值,但小写会影响搜索.

如果您使用的是默认分析器,那么字符串值的搜索条件应全部小写.

在我了解其工作原理之前,我花了相当多的时间查看索引文档中的混合大小写字段值,然后使用使用相同混合大小写值的查询字词进行搜索.零结果.直到我强制将我的查询使用的值全部小写,我开始得到结果.

您可以在此处阅读有关ElasticSearch分析器的更多信息: ElasticSearch - Analysis