Package 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 Description static SortedSetDocValues
EMPTY
An empty SortedDocValues which returnsNO_MORE_ORDS
for every documentstatic long
NO_MORE_ORDS
When returned bynextOrd()
it means there are no more ordinals for the document.
-
Constructor Summary
Constructors Modifier Constructor Description protected
SortedSetDocValues()
Sole constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method 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)
Ifkey
exists, returns its ordinal, else returns-insertionPoint-1
, likeArrays.binarySearch
.abstract long
nextOrd()
Returns the next ordinal for the current document (previously set bysetDocument(int)
.abstract void
setDocument(int docID)
Sets iteration to the specified docIDTermsEnum
termsEnum()
Returns aTermsEnum
over the values.
-
-
-
Field Detail
-
NO_MORE_ORDS
public static final long NO_MORE_ORDS
When returned bynextOrd()
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 returnsNO_MORE_ORDS
for every document
-
-
Method Detail
-
nextOrd
public abstract long nextOrd()
Returns the next ordinal for the current document (previously set bysetDocument(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 lookupresult
- 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)
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)
.
-
-