版本: 8.3-8.9
简而言之,当你在Elasticsearch中尝试执行term查询时没有考虑大小写敏感性,就会发生此错误。Elasticsearch的term查询默认是大小写敏感的。要解决这个问题,你可以:
- 在索引之前将输入数据和存储的数据转换为统一的大小写格式(小写或大写)
- 使用match查询代替term查询,因为它不区分大小写
- 在索引期间使用关键词分析器或带有小写过滤器的自定义分析器,确保所有数据都以小写形式存储
日志上下文 #
日志 “case insensitive term query” 的类名是 PlaceHolderFieldMapper.java。 我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人参考:
throw new QueryShardException(context; fail("term query"));
} @Override
public Query termQueryCaseInsensitive(Object value; @Nullable SearchExecutionContext context) {
throw new QueryShardException(context; fail("case insensitive term query"));
} @Override
public Query rangeQuery(
Object lowerTerm;





