public class

ScorerDocQueue

extends Object
java.lang.Object
   ↳ org.apache.lucene.util.ScorerDocQueue

Class Overview

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().

Summary

Public Constructors
ScorerDocQueue(int maxSize)
Create a ScorerDocQueue with a maximum size.
Public Methods
final void adjustTop()
Should be called when the scorer at top changes doc() value.
final 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()).
final Scorer pop()
Removes and returns the least scorer of the ScorerDocQueue in log(size) time.
final void put(Scorer scorer)
Adds a Scorer to a ScorerDocQueue in log(size) time.
final int size()
Returns the number of scorers currently stored in the ScorerDocQueue.
final Scorer top()
Returns the least Scorer of the ScorerDocQueue in constant time.
final int topDoc()
Returns document number of the least Scorer of the ScorerDocQueue in constant time.
final boolean topNextAndAdjustElsePop()
final float topScore()
final boolean topSkipToAndAdjustElsePop(int target)
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public ScorerDocQueue (int maxSize)

Create a ScorerDocQueue with a maximum size.

Public Methods

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); }
 

public final void clear ()

Removes all entries from the ScorerDocQueue.

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()).

Returns
  • true if scorer is added, false otherwise.

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.

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.

public final int size ()

Returns the number of scorers currently stored in the ScorerDocQueue.

public final Scorer top ()

Returns the least Scorer of the ScorerDocQueue in constant time. Should not be used when the queue is empty.

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.

public final boolean topNextAndAdjustElsePop ()

Throws
IOException

public final float topScore ()

Throws
IOException

public final boolean topSkipToAndAdjustElsePop (int target)

Throws
IOException