Class EnumField


@Deprecated public class EnumField extends AbstractEnumField
Deprecated.
use EnumFieldType instead.
Field type for support of string values with custom sort order.
  • Field Details

    • DEFAULT_PRECISION_STEP

      protected static final int DEFAULT_PRECISION_STEP
      Deprecated.
      See Also:
  • Constructor Details

    • EnumField

      public EnumField()
      Deprecated.
  • Method Details

    • getUninversionType

      public UninvertingReader.Type getUninversionType(SchemaField sf)
      Deprecated.
      Description copied from class: FieldType
      If DocValues is not enabled for a field, but it's indexed, docvalues can be constructed on the fly (uninverted, aka fieldcache) on the first request to sort, facet, etc. This specifies the structure to use.

      This method will not be used if the field is (effectively) uninvertible="false"

      Specified by:
      getUninversionType in class FieldType
      Parameters:
      sf - field instance
      Returns:
      type to uninvert, or null (to disallow uninversion for the field)
      See Also:
    • getSpecializedRangeQuery

      protected org.apache.lucene.search.Query getSpecializedRangeQuery(QParser parser, SchemaField field, String min, String max, boolean minInclusive, boolean maxInclusive)
      Deprecated.
      Description copied from class: FieldType
      Returns a Query instance for doing range searches on this field type. SolrQueryParser currently passes part1 and part2 as null if they are '*' respectively. minInclusive and maxInclusive are both true currently by SolrQueryParser but that may change in the future. Also, other QueryParser implementations may have different semantics.

      Sub-classes should override this method to provide their own range query implementation. They should strive to handle nulls in part1 and/or part2 as well as unequal minInclusive and maxInclusive parameters gracefully.

      This method does not, and should not, check for or handle existence queries, please look at FieldType.getRangeQuery(org.apache.solr.search.QParser, org.apache.solr.schema.SchemaField, java.lang.String, java.lang.String, boolean, boolean) for that logic.

      Overrides:
      getSpecializedRangeQuery in class FieldType
      Parameters:
      parser - the QParser calling the method
      field - the schema field
      min - the lower boundary of the range, nulls are allowed.
      max - the upper boundary of the range, nulls are allowed
      minInclusive - whether the minimum of the range is inclusive or not
      maxInclusive - whether the maximum of the range is inclusive or not
      Returns:
      a Query instance to perform range search according to given parameters
    • readableToIndexed

      public void readableToIndexed(CharSequence val, org.apache.lucene.util.BytesRefBuilder result)
      Deprecated.
      Description copied from class: FieldType
      Given the readable value, return the term value that will match it. This method will modify the size and length of the result parameter and write from offset 0
      Overrides:
      readableToIndexed in class FieldType
    • indexedToReadable

      public String indexedToReadable(String indexedForm)
      Deprecated.
      Description copied from class: FieldType
      Given an indexed term, return the human readable representation
      Overrides:
      indexedToReadable in class FieldType
    • indexedToReadable

      public org.apache.lucene.util.CharsRef indexedToReadable(org.apache.lucene.util.BytesRef input, org.apache.lucene.util.CharsRefBuilder output)
      Deprecated.
      Description copied from class: FieldType
      Given an indexed term, append the human readable representation
      Overrides:
      indexedToReadable in class FieldType
    • toObject

      public org.apache.solr.common.EnumFieldValue toObject(SchemaField sf, org.apache.lucene.util.BytesRef term)
      Deprecated.
      Overrides:
      toObject in class FieldType
    • storedToIndexed

      public String storedToIndexed(org.apache.lucene.index.IndexableField f)
      Deprecated.
      Description copied from class: FieldType
      Given the stored field, return the indexed form
      Overrides:
      storedToIndexed in class FieldType
    • createField

      public org.apache.lucene.index.IndexableField createField(SchemaField field, Object value)
      Deprecated.
      Description copied from class: FieldType
      Used for adding a document when a field needs to be created from a type and a string.

      By default, the indexed value is the same as the stored value (taken from toInternal()). Having a different representation for external, internal, and indexed would present quite a few problems given the current Lucene architecture. An analyzer for adding docs would need to translate internal->indexed while an analyzer for querying would need to translate external->indexed.

      The only other alternative to having internal==indexed would be to have internal==external. In this case, toInternal should convert to the indexed representation, toExternal() should do nothing, and createField() should *not* call toInternal, but use the external value and set tokenized=true to get Lucene to convert to the internal(indexed) form. :TODO: clean up and clarify this explanation.

      Overrides:
      createField in class FieldType
      See Also:
    • createFields

      public List<org.apache.lucene.index.IndexableField> createFields(SchemaField sf, Object value)
      Deprecated.
      Description copied from class: FieldType
      Given a SchemaField, create one or more IndexableField instances
      Overrides:
      createFields in class FieldType
      Parameters:
      sf - the SchemaField
      value - The value to add to the field
      Returns:
      An array of IndexableField
      See Also: