2013-06-27 109 views
1

我们是弹性搜索和NEST的新手。NEST elasticsearch -C# - 区分大小写搜索

我们正在尝试使用C#client - NEST进行区分大小写的搜索。 我们已经阅读了很多帖子,但无法弄清楚。有人可以请我们详细的一步一步的指示。

任何帮助将不胜感激。

谢谢, VB。

+0

一些代码:

你可以阅读更多关于ElasticSearch分析仪在这里。 –

回答

4

我知道这是一个老问题,但我在我的研究横跨它跑了。所以,这是我的答案。

首先,切换到TERM查询没有帮助。在了解有关ElasticSearch默认工作方式的更多信息后,我明白了原因。

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

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

在我学会了这种工作方式之前,我花了相当长的时间在一个索引文档中查看混合大小写的字段值,然后用一个使用相同混合大小写值的查询词进行搜索。零结果。直到我强制将我的查询使用的值全部写入小写字母,才开始获取结果。你已经试过将有助于使一个开始什么ElasticSearch - Analysis

+0

..以及为什么这不在Nest文档中解释? (同样发生在这里:/) –