Class KeywordFieldMapper.KeywordFieldType

Enclosing class:
KeywordFieldMapper

public static final class KeywordFieldMapper.KeywordFieldType
extends StringFieldType
  • Constructor Details

    • KeywordFieldType

      public KeywordFieldType​(java.lang.String name, org.apache.lucene.document.FieldType fieldType, NamedAnalyzer normalizer, NamedAnalyzer searchAnalyzer, NamedAnalyzer quoteAnalyzer, 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

      public KeywordFieldType​(java.lang.String name, NamedAnalyzer analyzer)
  • Method Details

    • typeName

      public java.lang.String typeName()
      Description copied from class: MappedFieldType
      Returns the name of this type, as would be specified in mapping properties
      Specified by:
      typeName in class MappedFieldType
    • fielddataBuilder

      public IndexFieldData.Builder fielddataBuilder​(java.lang.String fullyQualifiedIndexName, java.util.function.Supplier<SearchLookup> searchLookup)
      Description copied from class: MappedFieldType
      Return a fielddata builder for this field
      Overrides:
      fielddataBuilder in class MappedFieldType
      Parameters:
      fullyQualifiedIndexName - the name of the index this field-data is build for
      searchLookup - a SearchLookup supplier to allow for accessing other fields values in the context of runtime fields
    • valueFetcher

      public ValueFetcher valueFetcher​(SearchExecutionContext context, java.lang.String format)
      Description copied from class: MappedFieldType
      Create a helper class to fetch field values during the FetchFieldsPhase.

      New field types must implement this method in order to support the search 'fields' option. Except for metadata fields, field types should not throw UnsupportedOperationException since this could cause a search retrieving multiple fields (like "fields": ["*"]) to fail.

      Specified by:
      valueFetcher in class MappedFieldType
    • valueForDisplay

      public java.lang.Object valueForDisplay​(java.lang.Object value)
      Description copied from class: MappedFieldType
      Given 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:
      valueForDisplay in class MappedFieldType
    • indexedValueForSearch

      protected org.apache.lucene.util.BytesRef indexedValueForSearch​(java.lang.Object value)
      Description copied from class: TermBasedFieldType
      Returns the indexed value used to construct search "values". This method is used for the default implementations of most query factory methods such as TermBasedFieldType.termQuery(java.lang.Object, org.elasticsearch.index.query.SearchExecutionContext).
      Overrides:
      indexedValueForSearch in class TermBasedFieldType
    • collapseType

      public MappedFieldType.CollapseType collapseType()
      Description copied from class: MappedFieldType
      Returns the collapse type of the field CollapseType.NONE means the field can'be used for collapsing.
      Overrides:
      collapseType in class MappedFieldType
      Returns:
      collapse type of the field
    • ignoreAbove

      public int ignoreAbove()
      Values that have more chars than the return value of this method will be skipped at parsing time.