--- title: "Bool 查询不支持 currentFieldName – 如何解决此 Elasticsearch 异常" date: 2026-03-25 lastmod: 2026-03-25 description: "当在Elasticsearch的布尔查询中使用了不支持的字段时会出现此错误,通常是由于字段名称不匹配或字段不支持布尔查询导致。" tags: ["布尔查询", "字段解析", "查询异常", "Elasticsearch错误"] summary: " 版本: 6.8-7.6 简而言之,当在 Elasticsearch 的布尔查询中使用了不支持的字段时,就会发生此错误。错误消息中指定的字段无法被 Elasticsearch 识别。要解决此问题,首先应该验证查询中的字段名称。确保它与 Elasticsearch 索引中的字段名称完全匹配,包括大小写敏感性。如果字段名称正确,请检查您使用的 Elasticsearch 版本。某些字段是特定于版本的。最后,确保该字段是可搜索的,并且没有通过映射设置从搜索中排除。 日志上下文 # 日志 “[bool] query does not support [” + currentFieldName + “]” 的类名是 BoolQueryBuilder.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入背景的人参考: case MUST_NOT: case MUSTNOT: mustNotClauses.add(parseInnerQueryBuilder(parser)); break; default: throw new ParsingException(parser.getTokenLocation(); "[bool] query does not support [" + currentFieldName + "]"); } } else if (token == XContentParser.Token.START_ARRAY) { while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) { switch (currentFieldName) { case MUST: " --- > **版本:** 6.8-7.6 简而言之,当在 Elasticsearch 的布尔查询中使用了不支持的字段时,就会发生此错误。错误消息中指定的字段无法被 Elasticsearch 识别。要解决此问题,首先应该验证查询中的字段名称。确保它与 Elasticsearch 索引中的字段名称完全匹配,包括大小写敏感性。如果字段名称正确,请检查您使用的 Elasticsearch 版本。某些字段是特定于版本的。最后,确保该字段是可搜索的,并且没有通过映射设置从搜索中排除。 ## 日志上下文 日志 "[bool] query does not support [" + currentFieldName + "]" 的类名是 [BoolQueryBuilder.java](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/)。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入背景的人参考: ```java case MUST_NOT: case MUSTNOT: mustNotClauses.add(parseInnerQueryBuilder(parser)); break; default: throw new ParsingException(parser.getTokenLocation(); "[bool] query does not support [" + currentFieldName + "]"); } } else if (token == XContentParser.Token.START_ARRAY) { while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) { switch (currentFieldName) { case MUST: ```