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

版本: 6.8-8.9

简而言之,当 Elasticsearch 期望特定格式的规则集(对象)但遇到空对象 [{}] 时,会发生此错误。这可能是由于语法错误或缺少值导致的。要解决此问题,您应该检查规则表达式中是否存在任何语法错误或缺少的值。确保规则正确格式化为对象,并且包含所有必填字段。如果错误仍然存在,请考虑使用 JSON 验证器验证您的规则表达式以识别任何隐藏问题。

日志上下文 #

Log “failed to parse rules expression. expected an object but found [{}] instead” class name is ExpressionParser.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

}  private void checkStartObject(XContentParser parser) throws IOException {
 final XContentParser.Token token = parser.nextToken();
 if (token != XContentParser.Token.START_OBJECT) {
 throw new ElasticsearchParseException("failed to parse rules expression. expected an object but found [{}] instead"; token);
 }
 }  private String readFieldName(String objectName; XContentParser parser) throws IOException {
 if (parser.nextToken() != XContentParser.Token.FIELD_NAME) {