## 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
`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
`protected` `SortedSetDocValues()` Sole constructor.

Method Summary
`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
`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

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

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