Package org.elasticsearch.index.mapper
Class FieldMapper
java.lang.Object
org.elasticsearch.index.mapper.Mapper
org.elasticsearch.index.mapper.FieldMapper
- All Implemented Interfaces:
java.lang.Cloneable,java.lang.Iterable<Mapper>,org.elasticsearch.common.xcontent.ToXContent,org.elasticsearch.common.xcontent.ToXContentFragment
- Direct Known Subclasses:
AbstractGeometryFieldMapper,BinaryFieldMapper,BooleanFieldMapper,CompletionFieldMapper,DateFieldMapper,DynamicKeyFieldMapper,IpFieldMapper,KeywordFieldMapper,MetadataFieldMapper,NumberFieldMapper,RangeFieldMapper,TextFieldMapper
public abstract class FieldMapper extends Mapper implements java.lang.Cloneable
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFieldMapper.Builder<T extends FieldMapper.Builder,Y extends FieldMapper>static classFieldMapper.CopyToRepresents a list of fields with optional boost factor where the current field should be copied tostatic classFieldMapper.MultiFieldsNested classes/interfaces inherited from class org.elasticsearch.index.mapper.Mapper
Mapper.BuilderContext, Mapper.TypeParser -
Field Summary
Fields Modifier and Type Field Description static Setting<java.lang.Boolean>COERCE_SETTINGprotected FieldMapper.CopyTocopyToprotected MappedFieldTypedefaultFieldTypeprotected MappedFieldTypefieldTypestatic Setting<java.lang.Boolean>IGNORE_MALFORMED_SETTINGprotected VersionindexCreatedVersionprotected FieldMapper.MultiFieldsmultiFields -
Constructor Summary
Constructors Modifier Constructor Description protectedFieldMapper(java.lang.String simpleName, MappedFieldType fieldType, MappedFieldType defaultFieldType, Settings indexSettings, FieldMapper.MultiFields multiFields, FieldMapper.CopyTo copyTo) -
Method Summary
Modifier and Type Method Description protected FieldMapperclone()protected abstract java.lang.StringcontentType()FieldMapper.CopyTocopyTo()List of fields where this field should be copied toprotected voidcreateFieldNamesField(ParseContext context, java.util.List<org.apache.lucene.index.IndexableField> fields)protected voiddoMerge(Mapper mergeWith)Merge changes coming frommergeWithin place.protected voiddoXContentAnalyzers(org.elasticsearch.common.xcontent.XContentBuilder builder, boolean includeDefaults)protected voiddoXContentBody(org.elasticsearch.common.xcontent.XContentBuilder builder, boolean includeDefaults, org.elasticsearch.common.xcontent.ToXContent.Params params)protected voiddoXContentDocValues(org.elasticsearch.common.xcontent.XContentBuilder builder, boolean includeDefaults)MappedFieldTypefieldType()protected static java.lang.StringindexOptionToString(org.apache.lucene.index.IndexOptions indexOption)java.util.Iterator<Mapper>iterator()FieldMappermerge(Mapper mergeWith)Return the merge ofmergeWithinto this.java.lang.Stringname()Returns the canonical name which uniquely identifies the mapper against other mappers in a type.voidparse(ParseContext context)Parse the field value using the providedParseContext.protected abstract voidparseCreateField(ParseContext context, java.util.List<org.apache.lucene.index.IndexableField> fields)Parse the field value and populatefields.booleanparsesArrayValue()Whether this mapper can handle an array value during document parsing.static java.lang.StringtermVectorOptionsToString(org.apache.lucene.document.FieldType fieldType)org.elasticsearch.common.xcontent.XContentBuildertoXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params)java.lang.StringtypeName()Returns a name representing the type of this mapper.FieldMapperupdateFieldType(java.util.Map<java.lang.String,MappedFieldType> fullNameToFieldType)Update the field type of this mapper.
-
Field Details
-
Constructor Details
-
FieldMapper
protected FieldMapper(java.lang.String simpleName, MappedFieldType fieldType, MappedFieldType defaultFieldType, Settings indexSettings, FieldMapper.MultiFields multiFields, FieldMapper.CopyTo copyTo)
-
-
Method Details
-
name
public java.lang.String name()Description copied from class:MapperReturns the canonical name which uniquely identifies the mapper against other mappers in a type. -
typeName
public java.lang.String typeName()Description copied from class:MapperReturns a name representing the type of this mapper. -
fieldType
-
copyTo
List of fields where this field should be copied to -
parsesArrayValue
public boolean parsesArrayValue()Whether this mapper can handle an array value during document parsing. If true, when an array is encountered during parsing, the document parser will pass the whole array to the mapper. If false, the array is split into individual values and each value is passed to the mapper for parsing. -
parse
Parse the field value using the providedParseContext.- Throws:
java.io.IOException
-
parseCreateField
protected abstract void parseCreateField(ParseContext context, java.util.List<org.apache.lucene.index.IndexableField> fields) throws java.io.IOExceptionParse the field value and populatefields. Implementations of this method should ensure that on failing to parse parser.currentToken() must be the current failing token- Throws:
java.io.IOException
-
createFieldNamesField
protected void createFieldNamesField(ParseContext context, java.util.List<org.apache.lucene.index.IndexableField> fields) -
iterator
- Specified by:
iteratorin interfacejava.lang.Iterable<Mapper>
-
clone
- Overrides:
clonein classjava.lang.Object
-
merge
Description copied from class:MapperReturn the merge ofmergeWithinto this. BoththisandmergeWithwill be left unmodified. -
doMerge
Merge changes coming frommergeWithin place. -
updateFieldType
public FieldMapper updateFieldType(java.util.Map<java.lang.String,MappedFieldType> fullNameToFieldType)Description copied from class:MapperUpdate the field type of this mapper. This is necessary because some mapping updates can modify mappings across several types. This method must return a copy of the mapper so that the current mapper is not modified.- Specified by:
updateFieldTypein classMapper
-
toXContent
public org.elasticsearch.common.xcontent.XContentBuilder toXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws java.io.IOException- Specified by:
toXContentin interfaceorg.elasticsearch.common.xcontent.ToXContent- Throws:
java.io.IOException
-
doXContentBody
protected void doXContentBody(org.elasticsearch.common.xcontent.XContentBuilder builder, boolean includeDefaults, org.elasticsearch.common.xcontent.ToXContent.Params params) throws java.io.IOException- Throws:
java.io.IOException
-
doXContentAnalyzers
protected final void doXContentAnalyzers(org.elasticsearch.common.xcontent.XContentBuilder builder, boolean includeDefaults) throws java.io.IOException- Throws:
java.io.IOException
-
doXContentDocValues
protected void doXContentDocValues(org.elasticsearch.common.xcontent.XContentBuilder builder, boolean includeDefaults) throws java.io.IOException- Throws:
java.io.IOException
-
indexOptionToString
protected static java.lang.String indexOptionToString(org.apache.lucene.index.IndexOptions indexOption) -
termVectorOptionsToString
public static java.lang.String termVectorOptionsToString(org.apache.lucene.document.FieldType fieldType) -
contentType
protected abstract java.lang.String contentType()
-