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>
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:
IndexSearcher.search(Query,int,Sort)
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
FieldValueHitQueue.Entry
Extension of ScoreDoc to also store theFieldComparator
slot.
-
Field Summary
Fields Modifier and Type Field Description protected FieldComparator<?>[]
comparators
protected SortField[]
fields
Stores the sort criteria being used.protected int[]
reverseMul
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static <T extends FieldValueHitQueue.Entry>
FieldValueHitQueue<T>create(SortField[] fields, int size)
Creates a hit queue sorted by the given list of fields.FieldComparator<?>[]
getComparators()
LeafFieldComparator[]
getComparators(LeafReaderContext context)
int[]
getReverseMul()
protected abstract boolean
lessThan(FieldValueHitQueue.Entry a, FieldValueHitQueue.Entry b)
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 Detail
-
fields
protected final SortField[] fields
Stores the sort criteria being used.
-
comparators
protected final FieldComparator<?>[] comparators
-
reverseMul
protected final int[] reverseMul
-
-
Method Detail
-
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
public FieldComparator<?>[] getComparators()
-
getReverseMul
public int[] getReverseMul()
-
getComparators
public LeafFieldComparator[] getComparators(LeafReaderContext context) throws IOException
- Throws:
IOException
-
lessThan
protected abstract boolean lessThan(FieldValueHitQueue.Entry a, FieldValueHitQueue.Entry b)
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
.
-
-