ScorerDocQueue (Lucene 2.4.1 API)
Keywords: org.apache.lucene.util.ScorerDocQueue class

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.lucene.util
Class ScorerDocQueue

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

    public class ScorerDocQueue

extends 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
`ScorerDocQueue(int maxSize)` Create a ScorerDocQueue with a maximum size.

Method Summary
`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
`clone, equals, finalize, 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 IOException

  Throws:
    `IOException`

### topNextAndAdjustElsePop

    public final boolean topNextAndAdjustElsePop()
                                          throws IOException

  Throws:
    `IOException`

### topSkipToAndAdjustElsePop

    public final boolean topSkipToAndAdjustElsePop(int target)
                                            throws IOException

  Throws:
    `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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2009 Apache Software Foundation. All Rights Reserved.