org.apache.lucene.index

## Class SortedSetDocValues

- java.lang.Object
- - org.apache.lucene.index.SortedSetDocValues

- Direct Known Subclasses:
    MultiDocValues.MultiSortedSetDocValues, SingletonSortedSetDocValues

      public abstract class SortedSetDocValues
      extends Object

  A per-document set of presorted byte[] 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.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static SortedSetDocValues` | `EMPTY` An empty SortedDocValues which returns `NO_MORE_ORDS` for every document
    `static long` | `NO_MORE_ORDS` When returned by `nextOrd()` it means there are no more ordinals for the document.

  - ### Constructor Summary

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract long` | `getValueCount()` Returns the number of unique values.
    `abstract void` | `lookupOrd(long ord, BytesRef result)` Retrieves the value for the specified ordinal.
    `long` | `lookupTerm(BytesRef key)` If `key` exists, returns its ordinal, else returns `-insertionPoint-1`, like `Arrays.binarySearch`.
    `abstract long` | `nextOrd()` Returns the next ordinal for the current document (previously set by `setDocument(int)`.
    `abstract void` | `setDocument(int docID)` Sets iteration to the specified docID

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

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

- - ### Field Detail

    - #### NO_MORE_ORDS

          public static final long NO_MORE_ORDS

      When returned by `nextOrd()` it means there are no more ordinals for the document.
      See Also:
        Constant Field Values

    - #### EMPTY

          public static final SortedSetDocValues EMPTY

      An empty SortedDocValues which returns `NO_MORE_ORDS` for every document

  - ### Constructor Detail

    - #### SortedSetDocValues

          protected SortedSetDocValues()

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

  - ### Method Detail

    - #### nextOrd

          public abstract long nextOrd()

      Returns the next ordinal for the current document (previously set by `setDocument(int)`.
      Returns:
        next ordinal for the document, or `NO_MORE_ORDS`. ordinals are dense, start at 0, then increment by 1 for the next value in sorted order.

    - #### setDocument

          public abstract void setDocument(int docID)

      Sets iteration to the specified docID
      Parameters:
        `docID` - document ID

    - #### lookupOrd

          public abstract void lookupOrd(long ord,
                       BytesRef result)

      Retrieves the value for the specified ordinal.
      Parameters:
        `ord` - ordinal to lookup
        `result` - will be populated with the ordinal's value
      See Also:
        `nextOrd()`

    - #### getValueCount

          public abstract long 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.

    - #### lookupTerm

          public long lookupTerm(BytesRef key)

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

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