org.apache.lucene.index
Class SortedDocValues

java.lang.Object
  extended by org.apache.lucene.index.BinaryDocValues
      extended by 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 BytesRef.EMPTY_BYTES for every document
 
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 BytesRef.EMPTY_BYTES 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. Note that missing values are indicated by -1.

lookupOrd

public abstract void lookupOrd(int ord,
                               BytesRef result)
Retrieves the value for the specified ordinal.

Parameters:
ord - ordinal to lookup (must be >= 0 and < getValueCount())
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-2014 Apache Software Foundation. All Rights Reserved.