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

版本: 6.8-8.9

简而言之,当Elasticsearch中的More Like This(mlt)查询使用了不支持的字段时,会出现此错误。“currentFieldName"就是那个不支持的字段。要解决此问题,您可以从查询中删除不支持的字段,或将其替换为mlt查询支持的字段。此外,确保该字段存在于您的索引中并且已正确映射。最后,检查您使用的Elasticsearch版本,因为某些字段在旧版本中可能不受支持。

日志上下文 #

日志”[mlt] query does not support [" + currentFieldName + “]“的类名是 MoreLikeThisQueryBuilder.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入背景知识的人参考:

    } else if ("boost".equals(currentFieldName)) {
        boost = parser.floatValue();
    } else if ("_name".equals(currentFieldName)) {
        queryName = parser.text();
    } else {
        throw new ParsingException(parser.getTokenLocation(); "[mlt] query does not support [" + currentFieldName + "]");
    }
    } else if (token == XContentParser.Token.START_ARRAY) {
        if (FIELDS.match(currentFieldName; parser.getDeprecationHandler())) {
            fields = new ArrayList<>();
            while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) {