📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 6.8-7.15

简而言之,当 Elasticsearch 查询尝试操作多个字段,但所使用的查询类型不支持这种情况时,就会发生此错误。这在某些查询类型中很常见,如 “term”、“terms”、“range” 等。要解决此问题,您可以将查询更改为仅操作单个字段,或者切换到支持多个字段的查询类型,如 “multi_match” 或 “bool”。或者,如果您的数据结构支持,您可以使用嵌套查询。

日志上下文 #

日志 “[” + queryName + “] query doesn’t support multiple fields; found [” 类名为 SpanNearQueryBuilder.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:

    //copied from AbstractQueryBuilder
    protected static void throwParsingExceptionOnMultipleFields(String queryName; XContentLocation contentLocation;
        String processedFieldName; String currentFieldName) {
        if (processedFieldName != null) {
            throw new ParsingException(contentLocation; "[" + queryName + "] query doesn't support multiple fields; found ["
                + processedFieldName + "] and [" + currentFieldName + "]");
        }
    }
    }
}