Package org.apache.lucene.search

# Class FilterScorer

java.lang.Object
org.apache.lucene.search.Scorable
org.apache.lucene.search.Scorer
org.apache.lucene.search.FilterScorer

All Implemented Interfaces:
  `Unwrappable<Scorer>`

public abstract class FilterScorer extends Scorer implements Unwrappable<Scorer>
A `FilterScorer` contains another `Scorer`, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality. The class `FilterScorer` itself simply implements all abstract methods of `Scorer` with versions that pass all requests to the contained scorer. Subclasses of `FilterScorer` may further override some of these methods and may also provide additional methods and fields.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.apache.lucene.search.Scorable

  `Scorable.ChildScorable`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final Scorer`
  `in`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FilterScorer(Scorer in)`
  Create a new FilterScorer with a specific weight

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final int`
  `docID()`
  Returns the doc ID that is currently being scored.
  `final DocIdSetIterator`
  `iterator()`
  Return a `DocIdSetIterator` over matching documents.
  `float`
  `score()`
  Returns the score of the current document matching the query.
  `final TwoPhaseIterator`
  `twoPhaseIterator()`
  Optional method: Return a `TwoPhaseIterator` view of this `Scorer`.
  `Scorer`
  `unwrap()`
  Unwraps this instance

  ### Methods inherited from class org.apache.lucene.search.Scorer

  `advanceShallow, getMaxScore, nextDocsAndScores`

  ### Methods inherited from class org.apache.lucene.search.Scorable

  `getChildren, setMinCompetitiveScore, smoothingScore`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### in

    protected final Scorer in

- ## Constructor Details

  - ### FilterScorer

    public FilterScorer(Scorer in)
    Create a new FilterScorer with a specific weight
    Parameters:
      `in` - the `Scorer` to wrap

- ## Method Details

  - ### score

    public float score() throws IOException
    Description copied from class: `Scorable`
    Returns the score of the current document matching the query.
    Specified by:
      `score` in class `Scorable`
    Throws:
      `IOException`

  - ### docID

    public final int docID()
    Description copied from class: `Scorer`
    Returns the doc ID that is currently being scored.
    Specified by:
      `docID` in class `Scorer`

  - ### iterator

    public final DocIdSetIterator iterator()
    Description copied from class: `Scorer`
    Return a `DocIdSetIterator` over matching documents.

    The returned iterator will either be positioned on `-1` if no documents have been scored yet, `DocIdSetIterator.NO_MORE_DOCS` if all documents have been scored already, or the last document id that has been scored otherwise.

    The returned iterator is a view: calling this method several times will return iterators that have the same state.

    Specified by:
      `iterator` in class `Scorer`

  - ### twoPhaseIterator

    public final TwoPhaseIterator twoPhaseIterator()
    Description copied from class: `Scorer`
    Optional method: Return a `TwoPhaseIterator` view of this `Scorer`. A return value of `null` indicates that two-phase iteration is not supported.

    Note that the returned `TwoPhaseIterator`'s `approximation` must advance synchronously with the `Scorer.iterator()`: advancing the approximation must advance the iterator and vice-versa.

    Implementing this method is typically useful on `Scorer`s that have a high per-document overhead in order to confirm matches.

    The default implementation returns `null`.

    Overrides:
      `twoPhaseIterator` in class `Scorer`

  - ### unwrap

    public Scorer unwrap()
    Description copied from interface: `Unwrappable`
    Unwraps this instance
    Specified by:
      `unwrap` in interface `Unwrappable<Scorer>`