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>
-
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. UsesFieldCache.DEFAULT
for maintaining internal term lookup tables.- Since:
- 2.9
- See Also:
IndexSearcher.search(Query,Filter,int,Sort)
,FieldCache
-
-
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 FieldComparator<?>
firstComparator
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()
int[]
getReverseMul()
protected abstract boolean
lessThan(FieldValueHitQueue.Entry a, FieldValueHitQueue.Entry b)
Determines the ordering of objects in this priority queue.void
setComparator(int pos, FieldComparator<?> comparator)
-
Methods inherited from class org.apache.lucene.util.PriorityQueue
add, clear, getHeapArray, getSentinelObject, insertWithOverflow, pop, size, top, updateTop
-
-
-
-
Field Detail
-
fields
protected final SortField[] fields
Stores the sort criteria being used.
-
comparators
protected final FieldComparator<?>[] comparators
-
firstComparator
protected FieldComparator<?> firstComparator
-
reverseMul
protected final int[] reverseMul
-
-
Method Detail
-
create
public static <T extends FieldValueHitQueue.Entry> FieldValueHitQueue<T> create(SortField[] fields, int size) throws IOException
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.- Throws:
IOException
- if there is a low-level IO error
-
getComparators
public FieldComparator<?>[] getComparators()
-
getReverseMul
public int[] getReverseMul()
-
setComparator
public void setComparator(int pos, FieldComparator<?> comparator)
-
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 parameter a is less than parameter b.
-
-