Package 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
Fields Modifier and Type Field Description static SortedDocValues
EMPTY
An empty SortedDocValues which returnsBytesRef.EMPTY_BYTES
for every document
-
Constructor Summary
Constructors Modifier Constructor Description protected
SortedDocValues()
Sole constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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)
Ifkey
exists, returns its ordinal, else returns-insertionPoint-1
, likeArrays.binarySearch
.TermsEnum
termsEnum()
Returns aTermsEnum
over the values.
-
-
-
Field Detail
-
EMPTY
public static final SortedDocValues EMPTY
An empty SortedDocValues which returnsBytesRef.EMPTY_BYTES
for every document
-
-
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 classBinaryDocValues
-
lookupTerm
public int lookupTerm(BytesRef key)
Ifkey
exists, returns its ordinal, else returns-insertionPoint-1
, likeArrays.binarySearch
.- Parameters:
key
- Key to look up
-
termsEnum
public TermsEnum termsEnum()
Returns aTermsEnum
over the values. The enum supportsTermsEnum.ord()
andTermsEnum.seekExact(long)
.
-
-