Class DisiPriorityQueue

java.lang.Object
org.apache.lucene.search.DisiPriorityQueue
All Implemented Interfaces:
Iterable<DisiWrapper>

public abstract sealed class DisiPriorityQueue extends Object implements 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 Details

    • DisiPriorityQueue

      public DisiPriorityQueue()
  • Method Details

    • ofMaxSize

      public static DisiPriorityQueue ofMaxSize(int maxSize)
      Create a DisiPriorityQueue of the given maximum size.
    • size

      public abstract int size()
      Return the number of entries in this heap.
    • top

      public abstract DisiWrapper top()
      Return top value in this heap, or null if the heap is empty.
    • top2

      public abstract DisiWrapper top2()
      Return the 2nd least value in this heap, or null if the heap contains less than 2 values.
    • topList

      public abstract DisiWrapper topList()
      Get the list of scorers which are on the current doc.
    • add

      public abstract DisiWrapper add(DisiWrapper entry)
      Add a DisiWrapper to this queue and return the top entry.
    • addAll

      public void addAll(DisiWrapper[] entries, int offset, int len)
      Bulk add.
    • pop

      public abstract DisiWrapper pop()
      Remove the top entry and return it.
    • updateTop

      public abstract DisiWrapper updateTop()
      Rebalance this heap and return the top entry.
    • clear

      public abstract void clear()
      Clear the heap.