Field name is a metadata field and cannot be added inside – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 7.1-7.15

Briefly, this error occurs when you try to add a metadata field inside a document. Metadata fields are reserved fields that contain specific information about the document, such as “_index”, “_type”, “_id”, etc. They cannot be added or modified directly. To resolve this issue, you should avoid using metadata field names for your custom fields. If you need to store similar information, consider using a different field name that doesn’t conflict with the reserved metadata field names.

This guide will help you check for common problems that cause the log ” Field [” + name() + “] is a metadata field and cannot be added inside ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: metadata, index.

Log Context

Log “Field [” + name() + “] is a metadata field and cannot be added inside” class name is MetadataFieldMapper.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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}.<p></p>
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}.<p></p>
 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}.

 

 [ratemypost]

Opster
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.