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

版本: 6.8-7.15

简而言之,当 Elasticsearch 无法为特定角色解析索引权限时,会出现此错误,原因是遇到了意外的字段值。这可能是由于角色定义中的语法错误或缺少值导致的。要解决此问题,您应该首先检查角色定义是否存在语法错误或缺少的值。如果问题仍然存在,请尝试使用正确的权限重新创建角色。此外,请确保您使用的 Elasticsearch 版本支持您尝试分配的权限。

日志上下文 #

日志 “failed to parse indices privileges for role [{}]. expected field [{}] value to” 的类名是 RoleDescriptor.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解上下文的人参考:

private static RoleDescriptor.IndicesPrivileges parseIndex(String roleName; XContentParser parser;
    boolean allow2xFormat) throws IOException {
    XContentParser.Token token = parser.currentToken();
    if (token != XContentParser.Token.START_OBJECT) {
        throw new ElasticsearchParseException("failed to parse indices privileges for role [{}]. expected field [{}] value to " +
            "be an array of objects; but found an array element of type [{}]"; roleName; parser.currentName(); token);
    }
    String currentFieldName = null;
    String[] names = null;
    BytesReference query = null;