elasticsearch - 通过忽略值大小写检查搜索

标签 elasticsearch

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

如果可以的话,请提出建议。
谢谢

最佳答案

在Elasticsearch中执行此操作的唯一方法是分析字段并使用 token 过滤器。您可以使用一个小写的 token 过滤器,但这实际上不能像SQL那样即时完成,您可以使用LOWER()之类的方法包装要查询的字段。

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

关于elasticsearch - 通过忽略值大小写检查搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24360457/

相关文章:

elasticsearch - 使用Elasticsearch进行复合查询

elasticsearch - 使用JEST在ElasticSearch中进行部分更新

elasticsearch - 如何将不同文档中具有相似名称的对象映射到相同的ElasticSearch/Kibana字段?

Elasticsearch 术语方面不显示否定术语

java - 在顶级关系数据库上运行ElasticSearch

node.js - NodeJs-ElasticSearch Bulk API 错误处理

elasticsearch - 如何检查kubernetes集群中有状态集的重启原因

javascript - Elasticsearch JS的getMapping函数使用方法

excel - Powerquery 迭代步骤列表

ubuntu - 在 ubuntu 机器中恢复 Elastic Search 快照时出现 RepositoryException