java.lang.Object
org.elasticsearch.index.mapper.Mapper
org.elasticsearch.index.mapper.FieldMapper
org.elasticsearch.index.mapper.KeywordFieldMapper
- All Implemented Interfaces:
Iterable<Mapper>,ToXContent,ToXContentFragment
A field mapper for keywords. This mapper accepts strings and indexes them as-is.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic classstatic classstatic final classNested classes/interfaces inherited from class org.elasticsearch.index.mapper.FieldMapper
FieldMapper.Conflicts, FieldMapper.CopyTo, FieldMapper.DimensionBuilder, FieldMapper.MergeValidator<T>, FieldMapper.MultiFields, FieldMapper.Parameter<T>, FieldMapper.Serializer<T>, FieldMapper.SerializerCheck<T>, FieldMapper.SyntheticSourceMode, FieldMapper.TypeParserNested classes/interfaces inherited from interface org.elasticsearch.xcontent.ToXContent
ToXContent.DelegatingMapParams, ToXContent.MapParams, ToXContent.Params -
Field Summary
FieldsFields inherited from class org.elasticsearch.index.mapper.FieldMapper
COERCE_SETTING, copyTo, deprecationLogger, hasScript, IGNORE_MALFORMED_SETTING, mappedFieldType, multiFields, onScriptErrorFields inherited from interface org.elasticsearch.xcontent.ToXContent
EMPTY, EMPTY_PARAMS -
Method Summary
Modifier and TypeMethodDescriptionprotected StringvoiddoValidate(MappingLookup lookup) Returns aFieldMapper.Builderto be used for merging and serialization Implement as follows:return new MyBuilder(simpleName()).init(this);protected voidindexScriptValues(SearchLookup searchLookup, org.apache.lucene.index.LeafReaderContext readerContext, int doc, DocumentParserContext documentParserContext) Run the script associated with the field and index the values that it emits This method should only be called ifFieldMapper.hasScript()has returnedtrueprotected voidparseCreateField(DocumentParserContext context) Parse the field value and populate the fields onDocumentParserContext.doc().Mappers override this method with native synthetic source support.syntheticFieldLoader(String simpleName) protected FieldMapper.SyntheticSourceModeSpecifies the mode of synthetic source support by the mapper.Methods inherited from class org.elasticsearch.index.mapper.FieldMapper
checkIncomingMergeType, copyTo, doXContentBody, executeScript, fullPath, getTotalFieldsCount, hasScript, ignoreMalformed, iterator, merge, multiFields, multiFieldsIterator, notFromDynamicTemplates, notInMultiFields, parse, parsesArrayValue, sourcePathUsedBy, supportsParsingObject, toXContent, typeName, validateMethods inherited from class org.elasticsearch.index.mapper.Mapper
freezeAndDeduplicateFieldType, internFieldName, leafName, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface org.elasticsearch.xcontent.ToXContentFragment
isFragment
-
Field Details
-
CONTENT_TYPE
- See Also:
-
PARSER
-
-
Method Details
-
fieldType
- Overrides:
fieldTypein classFieldMapper
-
parseCreateField
Description copied from class:FieldMapperParse the field value and populate the fields onDocumentParserContext.doc(). Implementations of this method should ensure that on failing to parse parser.currentToken() must be the current failing token- Specified by:
parseCreateFieldin classFieldMapper- Throws:
IOException
-
indexScriptValues
protected void indexScriptValues(SearchLookup searchLookup, org.apache.lucene.index.LeafReaderContext readerContext, int doc, DocumentParserContext documentParserContext) Description copied from class:FieldMapperRun the script associated with the field and index the values that it emits This method should only be called ifFieldMapper.hasScript()has returnedtrue- Overrides:
indexScriptValuesin classFieldMapper- Parameters:
searchLookup- a SearchLookup to be passed the scriptreaderContext- a LeafReaderContext exposing values from an incoming documentdoc- the id of the document to execute the script againstdocumentParserContext- the ParseContext over the incoming document
-
contentType
- Specified by:
contentTypein classFieldMapper
-
indexAnalyzers
- Overrides:
indexAnalyzersin classFieldMapper
-
getMergeBuilder
Description copied from class:FieldMapperReturns aFieldMapper.Builderto be used for merging and serialization Implement as follows:return new MyBuilder(simpleName()).init(this);- Specified by:
getMergeBuilderin classFieldMapper
-
doValidate
- Overrides:
doValidatein classFieldMapper
-
syntheticSourceMode
Description copied from class:FieldMapperSpecifies the mode of synthetic source support by the mapper.
This is used to determine if a field mapper has support for constructing synthetic source. In case it doesn't (meaningFieldMapper.SyntheticSourceMode.FALLBACK), we will store raw source data for this field as is and then use it for synthetic source.Field mappers must override this method if they provide a custom implementation of
FieldMapper.syntheticFieldLoader()in order to use a more efficient field-specific implementation.- Overrides:
syntheticSourceModein classFieldMapper- Returns:
FieldMapper.SyntheticSourceMode
-
syntheticFieldLoader
Description copied from class:FieldMapperMappers override this method with native synthetic source support. If mapper does not support synthetic source, it is generated using generic implementation inDocumentParser.parseObjectOrField(org.elasticsearch.index.mapper.DocumentParserContext, org.elasticsearch.index.mapper.Mapper)andObjectMapper.syntheticFieldLoader().- Overrides:
syntheticFieldLoaderin classFieldMapper- Returns:
- implementation of
SourceLoader.SyntheticFieldLoader
-
syntheticFieldLoader
-