Package org.elasticsearch.index.mapper
Class DocumentParserContext
java.lang.Object
org.elasticsearch.index.mapper.DocumentParserContext
Context used when parsing incoming documents. Holds everything that is needed to parse a document as well as
the lucene data structures and mappings to be dynamically created as the outcome of parsing a document.
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedDocumentParserContext(MappingLookup mappingLookup, IndexSettings indexSettings, IndexAnalyzers indexAnalyzers, Function<DateFormatter, MappingParserContext> parserContextFunction, SourceToParse source) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidaddDoc(LuceneDocument doc) final voidaddDynamicMapper(Mapper mapper) Add a new mapper dynamically created while parsing.final voidaddDynamicRuntimeField(RuntimeField runtimeField) Add a new runtime field dynamically created while parsing.final voidaddIgnoredField(String field) Add the givenfieldto the set of ignored fields.final voidaddToFieldNames(String field) Add the givenfieldto the _field_names field Use this if an exists query run against the field cannot use docvalues or norms.final DocumentParserContextcreateCopyToContext(String copyToField, LuceneDocument doc) Return a context for copy_to directivesfinal DocumentParserContextcreateNestedContext(String fullPath) Return a new context that will be used within a nested document.abstract LuceneDocumentdoc()final StringDescription on the document being parsed used in error messages.final MappingParserContextdynamicTemplateParserContext(DateFormatter dateFormatter) final DynamicTemplatefindDynamicTemplate(String fieldName, DynamicTemplate.XContentFieldType matchType) Find a dynamic mapping template for the given field and its matching typeThe collection of dimensions for this document.Get dynamic mappers created while parsing.final ObjectMappergetDynamicObjectMapper(String name) final List<RuntimeField>Get dynamic runtime fields created while parsing.final Collection<String>Return the collection of fields that have been ignored so far.final MetadataFieldMappergetMetadataMapper(String mapperName) final Stringid()final voidfinal IndexAnalyzersfinal IndexSettingsbooleanfinal MappingLookupabstract Iterable<LuceneDocument>Returns an Iterable over all non-root documents.abstract org.elasticsearch.xcontent.XContentParserparser()abstract ContentPathpath()final RootObjectMapperroot()abstract LuceneDocumentrootDoc()seqID()final voidfinal SourceToParsefinal DocumentParserContextswitchDoc(LuceneDocument document) Return a new context that has the provided document as the current document.final DocumentParserContextswitchParser(org.elasticsearch.xcontent.XContentParser parser) Deprecated.we are actively deprecating and removing the ability to pass complex objects to multifields, so try and avoid using this method Replace the XContentParser used by this contextfinal RootObjectMapper.Builderfinal org.apache.lucene.document.Fieldversion()final voidversion(org.apache.lucene.document.Field version)
-
Constructor Details
-
DocumentParserContext
protected DocumentParserContext(MappingLookup mappingLookup, IndexSettings indexSettings, IndexAnalyzers indexAnalyzers, Function<DateFormatter, MappingParserContext> parserContextFunction, SourceToParse source)
-
-
Method Details
-
indexSettings
-
indexAnalyzers
-
root
-
mappingLookup
-
getMetadataMapper
-
dynamicTemplateParserContext
-
sourceToParse
-
addIgnoredField
Add the givenfieldto the set of ignored fields. -
getIgnoredFields
Return the collection of fields that have been ignored so far. -
addToFieldNames
Add the givenfieldto the _field_names field Use this if an exists query run against the field cannot use docvalues or norms. -
version
public final org.apache.lucene.document.Field version() -
version
public final void version(org.apache.lucene.document.Field version) -
id
-
id
-
seqID
-
seqID
-
documentDescription
Description on the document being parsed used in error messages. Not called unless there is an error. -
addDynamicMapper
Add a new mapper dynamically created while parsing. -
getDynamicMappers
Get dynamic mappers created while parsing. -
getDynamicObjectMapper
-
addDynamicRuntimeField
Add a new runtime field dynamically created while parsing. -
getDynamicRuntimeFields
Get dynamic runtime fields created while parsing. -
nonRootDocuments
Returns an Iterable over all non-root documents. If there are no non-root documents the iterable will return an empty iterator. -
updateRoot
- Returns:
- a RootObjectMapper.Builder to be used to construct a dynamic mapping update
-
isWithinCopyTo
public boolean isWithinCopyTo() -
createNestedContext
Return a new context that will be used within a nested document. -
switchDoc
Return a new context that has the provided document as the current document. -
createCopyToContext
public final DocumentParserContext createCopyToContext(String copyToField, LuceneDocument doc) throws IOException Return a context for copy_to directives- Parameters:
copyToField- the name of the field to copy todoc- the document to target- Throws:
IOException
-
switchParser
@Deprecated public final DocumentParserContext switchParser(org.elasticsearch.xcontent.XContentParser parser) Deprecated.we are actively deprecating and removing the ability to pass complex objects to multifields, so try and avoid using this method Replace the XContentParser used by this context- Parameters:
parser- the replacement parser- Returns:
- a new context with a replaced parser
-
getDimensions
The collection of dimensions for this document. -
path
-
parser
public abstract org.elasticsearch.xcontent.XContentParser parser() -
rootDoc
-
doc
-
addDoc
-
findDynamicTemplate
public final DynamicTemplate findDynamicTemplate(String fieldName, DynamicTemplate.XContentFieldType matchType) Find a dynamic mapping template for the given field and its matching type- Parameters:
fieldName- the name of the fieldmatchType- the expecting matchType of the field- Returns:
- the matching template; otherwise returns null
- Throws:
MapperParsingException- if the given field has a dynamic template name specified, but no template matches that name.
-