版本: 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) {





