--- title: "字段名是元数据字段,无法在文档内部添加 - 如何解决此 Elasticsearch 异常" date: 2026-03-13 lastmod: 2026-03-13 description: "当尝试在文档内部添加元数据字段时会发生此错误。元数据字段是保留字段,包含文档的特定信息,如'_index'、'_type'、'_id'等。" tags: ["元数据字段", "字段映射", "异常处理"] summary: "版本: 7.1-7.15 简而言之,当您尝试在文档内部添加元数据字段时会发生此错误。元数据字段是保留字段,包含文档的特定信息,如"_index"、"_type"、"_id"等。它们不能直接添加或修改。要解决此问题,您应该避免为自定义字段使用元数据字段名称。如果需要存储类似的信息,请考虑使用不会与保留元数据字段名称冲突的不同字段名称。 日志上下文 # 日志"Field [" + name() + “] is a metadata field and cannot be added inside"类名是 MetadataFieldMapper.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人使用: return builder.endObject(); } @Override protected void parseCreateField(DocumentParserContext context) throws IOException { throw new MapperParsingException("Field [" + name() + "] is a metadata field and cannot be added inside" + " a document. Use the index API request parameters."); } /** * Called before {@link FieldMapper#parse(DocumentParserContext)} on the {@link RootObjectMapper}." --- > **版本:** 7.1-7.15 简而言之,当您尝试在文档内部添加元数据字段时会发生此错误。元数据字段是保留字段,包含文档的特定信息,如"_index"、"_type"、"_id"等。它们不能直接添加或修改。要解决此问题,您应该避免为自定义字段使用元数据字段名称。如果需要存储类似的信息,请考虑使用不会与保留元数据字段名称冲突的不同字段名称。 日志上下文 ----------- 日志"Field [" + name() + "] is a metadata field and cannot be added inside"类名是[MetadataFieldMapper.java。](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/)我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人使用: ```java return builder.endObject(); } @Override protected void parseCreateField(DocumentParserContext context) throws IOException { throw new MapperParsingException("Field [" + name() + "] is a metadata field and cannot be added inside" + " a document. Use the index API request parameters."); } /** * Called before {@link FieldMapper#parse(DocumentParserContext)} on the {@link RootObjectMapper}. ```