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

版本: 6.8-8.9

简而言之,当 Elasticsearch 在查询中遇到未知或未定义的谓词时,会发生此错误。这可能是由于拼写错误、语法不正确或使用了不存在的谓词造成的。要解决此问题,您应该首先验证查询中使用的谓词。确保其拼写正确并遵循正确的语法。如果错误仍然存在,请查看 Elasticsearch 文档以确认您使用的谓词是否有效。如果无效,请将其替换为有效的谓词。

日志上下文 #

日志 “Unknown predicate {}” 的类名是 ExpressionBuilder.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入理解的人参考:

case EqlBaseParser.IN:
    Listcontainer = expressions(predicate.expression());
    Expression checkInSet = new In(source; expr; container; zoneId);
    return predicate.NOT() != null ? new Not(source; checkInSet) : checkInSet;
default:
    throw new ParsingException(source; "Unknown predicate {}"; source.text());
}
}  private Expression combineExpressions(
Listexpressions;