Class ICUCollationDocValuesField

java.lang.Object
org.apache.lucene.document.Field
org.apache.lucene.analysis.icu.ICUCollationDocValuesField
All Implemented Interfaces:
IndexableField

public final class ICUCollationDocValuesField extends Field
Indexes collation keys as a single-valued SortedDocValuesField.

This is more efficient that ICUCollationKeyAnalyzer if the field only has one value: no uninversion is necessary to sort on the field, locale-sensitive range queries can still work via DocValuesRangeQuery, and the underlying data structures built at index-time are likely more efficient and use less memory than FieldCache.

  • Field Details

    • name

      private final String name
    • collator

      private final com.ibm.icu.text.Collator collator
    • bytes

      private final BytesRef bytes
    • key

      private final com.ibm.icu.text.RawCollationKey key
  • Constructor Details

    • ICUCollationDocValuesField

      public ICUCollationDocValuesField(String name, com.ibm.icu.text.Collator collator)
      Create a new ICUCollationDocValuesField.

      NOTE: you should not create a new one for each document, instead just make one and reuse it during your indexing process, setting the value via setStringValue(String).

      Parameters:
      name - field name
      collator - Collator for generating collation keys.
  • Method Details

    • name

      public String name()
      Description copied from interface: IndexableField
      Field name
      Specified by:
      name in interface IndexableField
      Overrides:
      name in class Field
    • setStringValue

      public void setStringValue(String value)
      Description copied from class: Field
      Expert: change the value of this field. This can be used during indexing to re-use a single Field instance to improve indexing speed by avoiding GC cost of new'ing and reclaiming Field instances. Typically a single Document instance is re-used as well. This helps most on small documents.

      Each Field instance should only be used once within a single Document instance. See ImproveIndexingSpeed for details.

      Overrides:
      setStringValue in class Field