Package org.apache.lucene.index
Class IndexSorter.LongSorter
java.lang.Object
org.apache.lucene.index.IndexSorter.LongSorter
- All Implemented Interfaces:
IndexSorter
- Enclosing interface:
- IndexSorter
Sorts documents based on long values from a NumericDocValues instance
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.lucene.index.IndexSorter
IndexSorter.ComparableProvider, IndexSorter.DocComparator, IndexSorter.DoubleSorter, IndexSorter.FloatSorter, IndexSorter.IntSorter, IndexSorter.LongSorter, IndexSorter.NumericDocValuesProvider, IndexSorter.SortedDocValuesProvider, IndexSorter.StringSorter
-
Constructor Summary
ConstructorDescriptionLongSorter
(String providerName, Long missingValue, boolean reverse, IndexSorter.NumericDocValuesProvider valuesProvider) Creates a new LongSorter -
Method Summary
Modifier and TypeMethodDescriptiongetComparableProviders
(List<? extends LeafReader> readers) Get an array ofIndexSorter.ComparableProvider
, one per segment, for merge sorting documents in different segmentsgetDocComparator
(LeafReader reader, int maxDoc) Get a comparator that determines the sort order of docs within a single Reader.The SPI-registered name of aSortFieldProvider
that will deserialize the parent SortField
-
Constructor Details
-
LongSorter
public LongSorter(String providerName, Long missingValue, boolean reverse, IndexSorter.NumericDocValuesProvider valuesProvider) Creates a new LongSorter
-
-
Method Details
-
getComparableProviders
public IndexSorter.ComparableProvider[] getComparableProviders(List<? extends LeafReader> readers) throws IOException Description copied from interface:IndexSorter
Get an array ofIndexSorter.ComparableProvider
, one per segment, for merge sorting documents in different segments- Specified by:
getComparableProviders
in interfaceIndexSorter
- Parameters:
readers
- the readers to be merged- Throws:
IOException
-
getDocComparator
Description copied from interface:IndexSorter
Get a comparator that determines the sort order of docs within a single Reader.NB We cannot simply use the
FieldComparator
API because it requires docIDs to be sent in-order. The default implementations allocate array[maxDoc] to hold native values for comparison, but 1) they are transient (only alive while sorting this one segment) and 2) in the typical index sorting case, they are only used to sort newly flushed segments, which will be smaller than merged segments- Specified by:
getDocComparator
in interfaceIndexSorter
- Parameters:
reader
- the Reader to sortmaxDoc
- the number of documents in the Reader- Throws:
IOException
-
getProviderName
Description copied from interface:IndexSorter
The SPI-registered name of aSortFieldProvider
that will deserialize the parent SortField- Specified by:
getProviderName
in interfaceIndexSorter
-