版本: 6.8-7.15
简而言之,当 Elasticsearch 在解析权限时遇到意外字段时,就会发生此错误。这可能是由于请求中存在语法错误或不存在的字段导致的。要解决此问题,首先应验证请求的语法。确保所有字段拼写正确并且存在于您的 Elasticsearch 中。如果语法正确,请检查您使用的 Elasticsearch 版本。某些字段在旧版本中可能不可用,因此您可能需要升级。最后,确保用户具有执行请求操作所需的必要权限。
日志上下文 #
日志 “failed to parse privileges check [{}]. unexpected field [{}]” 的类名是 RoleDescriptor.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:
clusterPrivileges = readStringArray(description; parser; true);
} else if (Fields.APPLICATIONS.match(currentFieldName; parser.getDeprecationHandler())
|| Fields.APPLICATION.match(currentFieldName; parser.getDeprecationHandler())) {
applicationPrivileges = parseApplicationPrivileges(description; parser);
} else {
throw new ElasticsearchParseException("failed to parse privileges check [{}]. unexpected field [{}]";
description; currentFieldName);
}
}
if (indexPrivileges == null && clusterPrivileges == null && applicationPrivileges == null) {
throw new ElasticsearchParseException("failed to parse privileges check [{}]. All privilege fields [{};{};{}] are missing";





