## 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.

Field Summary
`static SortedDocValues` `EMPTY` An empty SortedDocValues which returns `BinaryDocValues.MISSING` for every document

Fields inherited from class org.apache.lucene.index.BinaryDocValues
`MISSING`

Constructor Summary
`protected` `SortedDocValues()` Sole constructor.

Method Summary
`void` `get(int docID, BytesRef result)` 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.
`abstract void` `lookupOrd(int ord, BytesRef result)` 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`

Field Detail

### EMPTY

    public static final SortedDocValues EMPTY

  An empty SortedDocValues which returns `BinaryDocValues.MISSING` for every document

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.

### lookupOrd

    public abstract void lookupOrd(int 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:
    `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 void get(int docID,
                    BytesRef result)

  Description copied from class: `BinaryDocValues`
  Lookup the value for document.

  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)`.

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