java.lang.Object
org.apache.lucene.search.DocIdSetIterator
org.apache.lucene.index.DocValuesIterator
org.apache.lucene.index.SortedDocValues
- Direct Known Subclasses:
FilterSortedDocValues,Lucene70DocValuesProducer.BaseSortedDocValues,Lucene80DocValuesProducer.BaseSortedDocValues,Lucene90DocValuesProducer.BaseSortedDocValues,MultiDocValues.MultiSortedDocValues,SortedDocValuesWriter.BufferedSortedDocValues,SortedDocValuesWriter.SortingSortedDocValues,SortedSetSelector.MaxValue,SortedSetSelector.MiddleMaxValue,SortedSetSelector.MiddleMinValue,SortedSetSelector.MinValue,ToParentDocValues.SortedDVs
A per-document byte[] with presorted values. This is fundamentally an iterator over the int ord
values per document, with random access APIs to resolve an int ord to BytesRef.
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 inherited from class org.apache.lucene.search.DocIdSetIterator
NO_MORE_DOCS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract intReturns the number of unique values.intersect(CompiledAutomaton automaton) Returns aTermsEnumover the values, filtered by aCompiledAutomatonThe enum supportsTermsEnum.ord().abstract BytesReflookupOrd(int ord) Retrieves the value for the specified ordinal.intlookupTerm(BytesRef key) Ifkeyexists, returns its ordinal, else returns-insertionPoint-1, likeArrays.binarySearch.abstract intordValue()Returns the ordinal for the current docID.Returns aTermsEnumover the values.Methods inherited from class org.apache.lucene.index.DocValuesIterator
advanceExactMethods inherited from class org.apache.lucene.search.DocIdSetIterator
advance, all, cost, docID, empty, nextDoc, range, slowAdvance
-
Constructor Details
-
SortedDocValues
protected SortedDocValues()Sole constructor. (For invocation by subclass constructors, typically implicit.)
-
-
Method Details
-
ordValue
Returns the ordinal for the current docID. It is illegal to call this method afterDocValuesIterator.advanceExact(int)returnedfalse.- Returns:
- ordinal for the document: this is dense, starts at 0, then increments by 1 for the next value in sorted order.
- Throws:
IOException
-
lookupOrd
Retrieves the value for the specified ordinal. The returnedBytesRefmay be re-used across calls tolookupOrd(int)so make sure tocopy itif you want to keep it around.- Parameters:
ord- ordinal to lookup (must be >= 0 and <getValueCount())- Throws:
IOException- See Also:
-
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.
-
lookupTerm
Ifkeyexists, returns its ordinal, else returns-insertionPoint-1, likeArrays.binarySearch.- Parameters:
key- Key to look up- Throws:
IOException
-
termsEnum
Returns aTermsEnumover the values. The enum supportsTermsEnum.ord()andTermsEnum.seekExact(long).- Throws:
IOException
-
intersect
Returns aTermsEnumover the values, filtered by aCompiledAutomatonThe enum supportsTermsEnum.ord().- Throws:
IOException
-