通过忽略值案例检查进行搜索

时间:2014-06-23 07:23:02

标签: elasticsearch

在我的索引中,我插入字段而不更改值的大小写(大写或小写),就像在我的elasticsearch文档中,字段name包含值Hello World。我已将name字段设为not_analyzed以进行完全匹配。但在这种情况下,当我通过hello world搜索此文档时,弹性搜索不会返回,可能是由于区分大小写。我尝试使用term querymatch query,但没有找到运气。

如果有办法,请建议。
感谢

1 个答案:

答案 0 :(得分:2)

在Elasticsearch中执行此操作的唯一方法是分析字段并使用令牌过滤器。有一个小写的令牌过滤器可供您使用,但这实际上可以像SQL一样动态完成,在这里你可以用LOWER()来包装要查询的字段。

为了获得您想要的效果,我会使用Keyword tokenizerLowercase token filter之类的内容。如果您将此分析器设置为索引和搜索的默认分析器,那么您的搜索也将不区分大小写。