Documentation of 'org.apache.lucene.util.ScorerDocQueue' Java class
ScorerDocQueue
org.apache.lucene.util

Class ScorerDocQueue



  • public class ScorerDocQueue
    extends java.lang.Object
    A ScorerDocQueue maintains a partial ordering of its Scorers such that the least Scorer can always be found in constant time. Put()'s and pop()'s require log(size) time. The ordering is by Scorer.doc().
    • Constructor Summary

      Constructors 
      Constructor and Description
      ScorerDocQueue(int maxSize)
      Create a ScorerDocQueue with a maximum size.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      void adjustTop()
      Should be called when the scorer at top changes doc() value.
      void clear()
      Removes all entries from the ScorerDocQueue.
      boolean insert(Scorer scorer)
      Adds a Scorer to the ScorerDocQueue in log(size) time if either the ScorerDocQueue is not full, or not lessThan(scorer, top()).
      Scorer pop()
      Removes and returns the least scorer of the ScorerDocQueue in log(size) time.
      void put(Scorer scorer)
      Adds a Scorer to a ScorerDocQueue in log(size) time.
      int size()
      Returns the number of scorers currently stored in the ScorerDocQueue.
      Scorer top()
      Returns the least Scorer of the ScorerDocQueue in constant time.
      int topDoc()
      Returns document number of the least Scorer of the ScorerDocQueue in constant time.
      boolean topNextAndAdjustElsePop() 
      float topScore() 
      boolean topSkipToAndAdjustElsePop(int target) 
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ScorerDocQueue

        public ScorerDocQueue(int maxSize)
        Create a ScorerDocQueue with a maximum size.
    • Method Detail

      • put

        public final void put(Scorer scorer)
        Adds a Scorer to a ScorerDocQueue in log(size) time. If one tries to add more Scorers than maxSize a RuntimeException (ArrayIndexOutOfBound) is thrown.
      • insert

        public boolean insert(Scorer scorer)
        Adds a Scorer to the ScorerDocQueue in log(size) time if either the ScorerDocQueue is not full, or not lessThan(scorer, top()).
        Parameters:
        scorer -
        Returns:
        true if scorer is added, false otherwise.
      • top

        public final Scorer top()
        Returns the least Scorer of the ScorerDocQueue in constant time. Should not be used when the queue is empty.
      • topDoc

        public final int topDoc()
        Returns document number of the least Scorer of the ScorerDocQueue in constant time. Should not be used when the queue is empty.
      • topScore

        public final float topScore()
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • topNextAndAdjustElsePop

        public final boolean topNextAndAdjustElsePop()
                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • topSkipToAndAdjustElsePop

        public final boolean topSkipToAndAdjustElsePop(int target)
                                                throws java.io.IOException
        Throws:
        java.io.IOException
      • pop

        public final Scorer pop()
        Removes and returns the least scorer of the ScorerDocQueue in log(size) time. Should not be used when the queue is empty.
      • adjustTop

        public final void adjustTop()
        Should be called when the scorer at top changes doc() value. Still log(n) worst case, but it's at least twice as fast to
          { pq.top().change(); pq.adjustTop(); }
         
        instead of
          { o = pq.pop(); o.change(); pq.push(o); }
         
      • size

        public final int size()
        Returns the number of scorers currently stored in the ScorerDocQueue.
      • clear

        public final void clear()
        Removes all entries from the ScorerDocQueue.

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.