版本: 7.1-8.9
简而言之,当 Elasticsearch 中的别名同时被定义为对象和别名时,会发生此错误,这是不允许的。当您尝试创建一个已作为对象存在的别名时,可能会出现这种情况。要解决此问题,您可以重命名别名或对象。或者,您可以在创建新的别名或对象之前删除现有的对象或别名。重要的是要确保别名和对象的名称唯一,以避免此类冲突。
日志上下文 #
日志 “Alias [” + aliasMapper.name() + “] is defined both as an object and an alias” 的类名是 MappingLookup.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人使用:
for (FieldAliasMapper aliasMapper : aliasMappers) {
if (objects.containsKey(aliasMapper.name())) {
throw new MapperParsingException("Alias [" + aliasMapper.name() + "] is defined both as an object and an alias");
}
if (fieldMappers.put(aliasMapper.name(); aliasMapper) != null) {
throw new MapperParsingException("Alias [" + aliasMapper.name() + "] is defined both as an alias and a concrete field");
}
}





