org.apache.lucene.index

## Class SortedDocValues

- java.lang.Object
- - org.apache.lucene.index.BinaryDocValues
  - - org.apache.lucene.index.SortedDocValues

- Direct Known Subclasses:
    MultiDocValues.MultiSortedDocValues

      public abstract class SortedDocValues
      extends BinaryDocValues

  A per-document byte[] with presorted values.

  Per-Document values in a SortedDocValues are deduplicated, dereferenced, and sorted into a dictionary of unique values. A pointer to the dictionary value (ordinal) can be retrieved for each document. Ordinals are dense and in increasing sorted order.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `SortedDocValues()` Sole constructor.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `BytesRef` | `get(int docID)` Lookup the value for document.
    `abstract int` | `getOrd(int docID)` Returns the ordinal for the specified docID.
    `abstract int` | `getValueCount()` Returns the number of unique values.
    `TermsEnum` | `intersect(CompiledAutomaton automaton)` Returns a `TermsEnum` over the values, filtered by a `CompiledAutomaton` The enum supports `TermsEnum.ord()`.
    `abstract BytesRef` | `lookupOrd(int ord)` Retrieves the value for the specified ordinal.
    `int` | `lookupTerm(BytesRef key)` If `key` exists, returns its ordinal, else returns `-insertionPoint-1`, like `Arrays.binarySearch`.
    `TermsEnum` | `termsEnum()` Returns a `TermsEnum` over the values.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SortedDocValues

          protected SortedDocValues()

      Sole constructor. (For invocation by subclass constructors, typically implicit.)

  - ### Method Detail

    - #### getOrd

          public abstract int getOrd(int docID)

      Returns the ordinal for the specified docID.
      Parameters:
        `docID` - document ID to lookup
      Returns:
        ordinal for the document: this is dense, starts at 0, then increments by 1 for the next value in sorted order. Note that missing values are indicated by -1.

    - #### lookupOrd

          public abstract BytesRef lookupOrd(int ord)

      Retrieves the value for the specified ordinal. The returned `BytesRef` may be re-used across calls to `lookupOrd(int)` so make sure to `copy it` if you want to keep it around.
      Parameters:
        `ord` - ordinal to lookup (must be >= 0 and < `getValueCount()`)
      See Also:
        `getOrd(int)`

    - #### getValueCount

          public abstract int getValueCount()

      Returns the number of unique values.
      Returns:
        number of unique values in this SortedDocValues. This is also equivalent to one plus the maximum ordinal.

    - #### get

          public BytesRef get(int docID)

      Description copied from class: `BinaryDocValues`
      Lookup the value for document. The returned `BytesRef` may be re-used across calls to `BinaryDocValues.get(int)` so make sure to `copy it` if you want to keep it around.
      Specified by:
        `get` in class `BinaryDocValues`

    - #### lookupTerm

          public int lookupTerm(BytesRef key)

      If `key` exists, returns its ordinal, else returns `-insertionPoint-1`, like `Arrays.binarySearch`.
      Parameters:
        `key` - Key to look up

    - #### termsEnum

          public TermsEnum termsEnum()

      Returns a `TermsEnum` over the values. The enum supports `TermsEnum.ord()` and `TermsEnum.seekExact(long)`.

    - #### intersect

          public TermsEnum intersect(CompiledAutomaton automaton)
                              throws IOException

      Returns a `TermsEnum` over the values, filtered by a `CompiledAutomaton` The enum supports `TermsEnum.ord()`.
      Throws:
        `IOException`

Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.