Package org.elasticsearch.index.mapper
Class KeywordFieldMapper.KeywordFieldType
java.lang.Object
org.elasticsearch.index.mapper.MappedFieldType
org.elasticsearch.index.mapper.SimpleMappedFieldType
org.elasticsearch.index.mapper.TermBasedFieldType
org.elasticsearch.index.mapper.StringFieldType
org.elasticsearch.index.mapper.KeywordFieldMapper.KeywordFieldType
- Enclosing class:
- KeywordFieldMapper
public static final class KeywordFieldMapper.KeywordFieldType extends StringFieldType
-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.index.mapper.MappedFieldType
MappedFieldType.Relation -
Constructor Summary
Constructors Constructor Description KeywordFieldType(java.lang.String name)KeywordFieldType(java.lang.String name, boolean isSearchable, boolean hasDocValues, java.util.Map<java.lang.String,java.lang.String> meta)KeywordFieldType(java.lang.String name, org.apache.lucene.document.FieldType fieldType)KeywordFieldType(java.lang.String name, org.apache.lucene.document.FieldType fieldType, NamedAnalyzer normalizer, NamedAnalyzer searchAnalyzer, KeywordFieldMapper.Builder builder)KeywordFieldType(java.lang.String name, NamedAnalyzer analyzer) -
Method Summary
Modifier and Type Method Description IndexFieldData.BuilderfielddataBuilder(java.lang.String fullyQualifiedIndexName, java.util.function.Supplier<SearchLookup> searchLookup)Return a fielddata builder for this fieldprotected org.apache.lucene.util.BytesRefindexedValueForSearch(java.lang.Object value)Returns the indexed value used to construct search "values".java.lang.StringtypeName()Returns the name of this type, as would be specified in mapping propertiesValueFetchervalueFetcher(MapperService mapperService, SearchLookup searchLookup, java.lang.String format)Create a helper class to fetch field values during theFetchFieldsPhase.java.lang.ObjectvalueForDisplay(java.lang.Object value)Given a value that comes from the stored fields API, convert it to the expected type.Methods inherited from class org.elasticsearch.index.mapper.StringFieldType
fuzzyQuery, normalizeWildcardPattern, prefixQuery, rangeQuery, regexpQuery, wildcardQueryMethods inherited from class org.elasticsearch.index.mapper.TermBasedFieldType
termQuery, termQueryCaseInsensitive, termsQueryMethods inherited from class org.elasticsearch.index.mapper.MappedFieldType
boost, distanceFeatureQuery, docValueFormat, eagerGlobalOrdinals, existsQuery, extractTerm, failIfNoDocValues, failIfNotIndexed, familyTypeName, getTextSearchInfo, hasDocValues, indexAnalyzer, intervals, isAggregatable, isFieldWithinQuery, isSearchable, isStored, meta, multiPhraseQuery, name, phrasePrefixQuery, phraseQuery, pointReaderIfPossible, prefixQuery, setBoost, setEagerGlobalOrdinals, setIndexAnalyzer, spanPrefixQuery, wildcardQuery
-
Constructor Details
-
KeywordFieldType
public KeywordFieldType(java.lang.String name, org.apache.lucene.document.FieldType fieldType, NamedAnalyzer normalizer, NamedAnalyzer searchAnalyzer, KeywordFieldMapper.Builder builder) -
KeywordFieldType
public KeywordFieldType(java.lang.String name, boolean isSearchable, boolean hasDocValues, java.util.Map<java.lang.String,java.lang.String> meta) -
KeywordFieldType
public KeywordFieldType(java.lang.String name) -
KeywordFieldType
public KeywordFieldType(java.lang.String name, org.apache.lucene.document.FieldType fieldType) -
KeywordFieldType
-
-
Method Details
-
typeName
public java.lang.String typeName()Description copied from class:MappedFieldTypeReturns the name of this type, as would be specified in mapping properties- Specified by:
typeNamein classMappedFieldType
-
fielddataBuilder
public IndexFieldData.Builder fielddataBuilder(java.lang.String fullyQualifiedIndexName, java.util.function.Supplier<SearchLookup> searchLookup)Description copied from class:MappedFieldTypeReturn a fielddata builder for this field- Overrides:
fielddataBuilderin classMappedFieldType- Parameters:
fullyQualifiedIndexName- the name of the index this field-data is build forsearchLookup- aSearchLookupsupplier to allow for accessing other fields values in the context of runtime fields
-
valueFetcher
public ValueFetcher valueFetcher(MapperService mapperService, SearchLookup searchLookup, java.lang.String format)Description copied from class:MappedFieldTypeCreate a helper class to fetch field values during theFetchFieldsPhase. New field types must implement this method in order to support the search 'fields' option. Except for metadata fields, field types should not throwUnsupportedOperationExceptionsince this could cause a search retrieving multiple fields (like "fields": ["*"]) to fail.- Specified by:
valueFetcherin classMappedFieldType
-
valueForDisplay
public java.lang.Object valueForDisplay(java.lang.Object value)Description copied from class:MappedFieldTypeGiven a value that comes from the stored fields API, convert it to the expected type. For instance a date field would store dates as longs and format it back to a string in this method.- Overrides:
valueForDisplayin classMappedFieldType
-
indexedValueForSearch
protected org.apache.lucene.util.BytesRef indexedValueForSearch(java.lang.Object value)Description copied from class:TermBasedFieldTypeReturns the indexed value used to construct search "values". This method is used for the default implementations of most query factory methods such asTermBasedFieldType.termQuery(java.lang.Object, org.elasticsearch.index.query.QueryShardContext).- Overrides:
indexedValueForSearchin classTermBasedFieldType
-