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.
Uses FieldCache.DEFAULT
for maintaining
internal term lookup tables.
- Since:
- 2.9
- See Also:
Searcher.search(Query,Filter,int,Sort)
,
FieldCache
- WARNING: This API is experimental and might change in incompatible ways in the next release.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
fields
protected final SortField[] fields
- Stores the sort criteria being used.
comparators
protected final FieldComparator<?>[] comparators
reverseMul
protected final int[] reverseMul
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 be null
or emptysize
- The number of hits to retain. Must be greater than zero.
- Throws:
IOException
getComparators
public FieldComparator<?>[] getComparators()
getReverseMul
public int[] getReverseMul()
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 class PriorityQueue<T extends FieldValueHitQueue.Entry>
- Returns:
true
iff parameter a is less than parameter b.