Module org.apache.lucene.core
Package org.apache.lucene.search
Class FieldValueHitQueue<T extends FieldValueHitQueue.Entry>
java.lang.Object
org.apache.lucene.util.PriorityQueue<T>
org.apache.lucene.search.FieldValueHitQueue<T>
- All Implemented Interfaces:
Iterable<T>
- Direct Known Subclasses:
FieldValueHitQueue.MultiComparatorsFieldValueHitQueue
,FieldValueHitQueue.OneComparatorFieldValueHitQueue
public abstract class FieldValueHitQueue<T extends FieldValueHitQueue.Entry>
extends PriorityQueue<T>
Expert: A hit queue for sorting by hits by terms in more than one field.
- Since:
- 2.9
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Extension of ScoreDoc to also store theFieldComparator
slot.private static final class
An implementation ofFieldValueHitQueue
which is optimized in case there is more than one comparator.private static final class
An implementation ofFieldValueHitQueue
which is optimized in case there is just one comparator. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final FieldComparator<?>[]
protected final SortField[]
Stores the sort criteria being used.protected final int[]
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends FieldValueHitQueue.Entry>
FieldValueHitQueue<T> Creates a hit queue sorted by the given list of fields.(package private) FieldDoc
Given a queue Entry, creates a corresponding FieldDoc that contains the values used to sort the given document.FieldComparator<?>[]
getComparators
(LeafReaderContext context) (package private) SortField[]
Returns the SortFields being used by this hit queue.int[]
protected abstract boolean
Determines the ordering of objects in this priority queue.Methods inherited from class org.apache.lucene.util.PriorityQueue
add, addAll, clear, getHeapArray, insertWithOverflow, iterator, pop, remove, size, top, updateTop, updateTop
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
fields
Stores the sort criteria being used. -
comparators
-
reverseMul
protected final int[] reverseMul
-
-
Constructor Details
-
FieldValueHitQueue
-
-
Method Details
-
create
public static <T extends FieldValueHitQueue.Entry> FieldValueHitQueue<T> create(SortField[] fields, int size) Creates a hit queue sorted by the given list of fields.NOTE: The instances returned by this method pre-allocate a full array of length
numHits
.- Parameters:
fields
- SortField array we are sorting by in priority order (highest priority first); cannot benull
or emptysize
- The number of hits to retain. Must be greater than zero.
-
getComparators
-
getReverseMul
public int[] getReverseMul() -
getComparators
- Throws:
IOException
-
lessThan
Description copied from class:PriorityQueue
Determines the ordering of objects in this priority queue. Subclasses must define this one method.- Specified by:
lessThan
in classPriorityQueue<T extends FieldValueHitQueue.Entry>
- Returns:
true
iff parametera
is less than parameterb
.
-
fillFields
Given a queue Entry, creates a corresponding FieldDoc that contains the values used to sort the given document. These values are not the raw values out of the index, but the internal representation of them. This is so the given search hit can be collated by a MultiSearcher with other search hits.- Parameters:
entry
- The Entry used to create a FieldDoc- Returns:
- The newly created FieldDoc
- See Also:
-
getFields
SortField[] getFields()Returns the SortFields being used by this hit queue.
-