Package org.apache.lucene.search
Class DisiPriorityQueue
java.lang.Object
org.apache.lucene.search.DisiPriorityQueue
- All Implemented Interfaces:
Iterable<DisiWrapper>
A priority queue of DocIdSetIterators that orders by current doc ID. This specialization is
needed over
PriorityQueue because the pluggable comparison function makes the rebalancing
quite slow.- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract DisiWrapperadd(DisiWrapper entry) Add aDisiWrapperto this queue and return the top entry.voidaddAll(DisiWrapper[] entries, int offset, int len) Bulk add.abstract voidclear()Clear the heap.static DisiPriorityQueueofMaxSize(int maxSize) Create aDisiPriorityQueueof the given maximum size.abstract DisiWrapperpop()Remove the top entry and return it.abstract intsize()Return the number of entries in this heap.abstract DisiWrappertop()Return top value in this heap, or null if the heap is empty.abstract DisiWrappertop2()Return the 2nd least value in this heap, or null if the heap contains less than 2 values.abstract DisiWrappertopList()Get the list of scorers which are on the current doc.abstract DisiWrapperRebalance this heap and return the top entry.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
-
Constructor Details
-
DisiPriorityQueue
public DisiPriorityQueue()
-
-
Method Details
-
ofMaxSize
Create aDisiPriorityQueueof the given maximum size. -
size
public abstract int size()Return the number of entries in this heap. -
top
Return top value in this heap, or null if the heap is empty. -
top2
Return the 2nd least value in this heap, or null if the heap contains less than 2 values. -
topList
Get the list of scorers which are on the current doc. -
add
Add aDisiWrapperto this queue and return the top entry. -
addAll
Bulk add. -
pop
Remove the top entry and return it. -
updateTop
Rebalance this heap and return the top entry. -
clear
public abstract void clear()Clear the heap.
-