版本: 7.11-8.9
简而言之,当您尝试在不支持"exists"查询的字段类型上执行"exists"查询时,会发生此错误。Elasticsearch 在大多数字段类型上支持"exists"查询,但并非所有类型。错误消息会指出导致问题的字段名称和类型。要解决此问题,您可以将字段类型更改为支持"exists"查询的类型,或者修改查询以避免在不支持的字段类型上使用"exists"。此外,如果适合您的用例,可以使用"match"或"term"查询作为变通方法。
日志上下文 #
日志"Field [" + name() + “] of type [” + typeName() + “] does not support exists queries"类名是 DocCountFieldMapper.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人使用:
return NumberFieldMapper.NumberType.INTEGER.typeName();
} @Override
public Query existsQuery(SearchExecutionContext context) {
throw new QueryShardException(context; "Field [" + name() + "] of type [" + typeName() + "] does not support exists queries");
} @Override
public Query termQuery(Object value; SearchExecutionContext context) {
throw new QueryShardException(context; "Field [" + name() + "] of type [" + typeName() + "] is not searchable");





