版本: 6.8-7.17
简要来说,当您尝试在 Elasticsearch 中创建一个以下划线('_')开头的映射类型时,就会出现此错误。Elasticsearch 将以下划线开头的名称保留用于内部操作。要解决此问题,请将映射类型重命名为不以以下划线开头的名称。同时,确保新名称符合 Elasticsearch 的命名规范。需要注意的是,映射类型在 Elasticsearch 7.x 中已被弃用,在 8.x 中已被移除,因此请考虑重构数据以避免使用它们。
日志上下文 #
日志 “Document mapping type name can’t start with ‘_'; found: [” + mappingType + “]” 的类名是 MetadataMappingService.java。我们为那些寻求深入了解上下文的人从 Elasticsearch 源代码中提取了以下内容:
assert mappingType != null; if (MapperService.DEFAULT_MAPPING.equals(mappingType) == false
&& MapperService.SINGLE_MAPPING_NAME.equals(mappingType) == false
&& mappingType.charAt(0) == '_') {
throw new InvalidTypeNameException("Document mapping type name can't start with '_'; found: [" + mappingType + "]");
}
Metadata.Builder builder = Metadata.builder(metadata);
boolean updated = false;
for (IndexMetadata indexMetadata : updateList) {
boolean updatedMapping = false;





