public abstract class FieldValueHitQueue<T extends FieldValueHitQueue.Entry> extends PriorityQueue<T>
IndexSearcher.search(Query,int,Sort)| Modifier and Type | Class and Description |
|---|---|
static class |
FieldValueHitQueue.Entry
Extension of ScoreDoc to also store the
FieldComparator slot. |
private static class |
FieldValueHitQueue.MultiComparatorsFieldValueHitQueue<T extends FieldValueHitQueue.Entry>
An implementation of
FieldValueHitQueue which is optimized in case
there is more than one comparator. |
private static class |
FieldValueHitQueue.OneComparatorFieldValueHitQueue<T extends FieldValueHitQueue.Entry>
An implementation of
FieldValueHitQueue which is optimized in case
there is just one comparator. |
| Modifier and Type | Field and Description |
|---|---|
protected FieldComparator<?>[] |
comparators |
protected SortField[] |
fields
Stores the sort criteria being used.
|
protected int[] |
reverseMul |
| Modifier | Constructor and Description |
|---|---|
private |
FieldValueHitQueue(SortField[] fields,
int size) |
| Modifier and Type | Method and Description |
|---|---|
static <T extends FieldValueHitQueue.Entry> |
create(SortField[] fields,
int size)
Creates a hit queue sorted by the given list of fields.
|
(package private) FieldDoc |
fillFields(FieldValueHitQueue.Entry entry)
Given a queue Entry, creates a corresponding FieldDoc
that contains the values used to sort the given document.
|
FieldComparator<?>[] |
getComparators() |
LeafFieldComparator[] |
getComparators(LeafReaderContext context) |
(package private) SortField[] |
getFields()
Returns the SortFields being used by this hit queue.
|
int[] |
getReverseMul() |
protected abstract boolean |
lessThan(FieldValueHitQueue.Entry a,
FieldValueHitQueue.Entry b)
Determines the ordering of objects in this priority queue.
|
add, clear, getHeapArray, insertWithOverflow, iterator, pop, remove, size, top, updateTop, updateTopprotected final SortField[] fields
protected final FieldComparator<?>[] comparators
protected final int[] reverseMul
private FieldValueHitQueue(SortField[] fields, int size)
public static <T extends FieldValueHitQueue.Entry> FieldValueHitQueue<T> create(SortField[] fields, int size)
NOTE: The instances returned by this method
pre-allocate a full array of length numHits.
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.public FieldComparator<?>[] getComparators()
public int[] getReverseMul()
public LeafFieldComparator[] getComparators(LeafReaderContext context) throws java.io.IOException
java.io.IOExceptionprotected abstract boolean lessThan(FieldValueHitQueue.Entry a, FieldValueHitQueue.Entry b)
PriorityQueuelessThan in class PriorityQueue<T extends FieldValueHitQueue.Entry>true iff parameter a is less than parameter b.FieldDoc fillFields(FieldValueHitQueue.Entry entry)
entry - The Entry used to create a FieldDocIndexSearcher.search(Query,int,Sort)SortField[] getFields()