版本: 6.8-8.9
简要来说,当在 Elasticsearch 的 [dis_max] 查询中使用了不受支持的字段时,就会发生此错误。[dis_max] 查询用于通过执行多个查询来生成单个分数,它只支持特定的字段。该错误表示字段 [" + currentFieldName + “] 不在其中。要解决此问题,您应该查看 Elasticsearch 文档以了解 [dis_max] 查询支持的字段。然后,修改您的查询以仅包含那些受支持的字段。或者,考虑使用支持您尝试使用的字段的其他类型的查询。
日志上下文 #
日志 “[dis_max] query does not support [” + currentFieldName + “]” 的类名是 DisMaxQueryBuilder.java。我们从 Elasticsearch 源代码中提取了以下内容,供寻求深入背景的人参考:
} else if (token == XContentParser.Token.START_OBJECT) {
if (QUERIES_FIELD.match(currentFieldName, parser.getDeprecationHandler())) {
queriesFound = true;
queries.add(parseInnerQueryBuilder(parser));
} else {
throw new ParsingException(parser.getTokenLocation(), "[dis_max] query does not support [" + currentFieldName + "]");
}
} else if (token == XContentParser.Token.START_ARRAY) {
if (QUERIES_FIELD.match(currentFieldName, parser.getDeprecationHandler())) {
queriesFound = true;
while (token != XContentParser.Token.END_ARRAY) {





