org.apache.lucene.search

## Class FilterScorer

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

-     public abstract class FilterScorer
      extends 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 and Description
    --- | ---
    `protected Scorer` | `in`

    - ### Fields inherited from class org.apache.lucene.search.Scorer

      `weight`

  - ### Constructor Summary

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

  - ### Method Summary

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

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

      `advanceShallow, getMaxScore, getWeight`

    - ### 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 Detail

    - #### in

          protected final Scorer in

  - ### Constructor Detail

    - #### FilterScorer

          public FilterScorer(Scorer in)

      Create a new FilterScorer
      Parameters:
        `in` - the `Scorer` to wrap

    - #### FilterScorer

          public FilterScorer(Scorer in,
                              Weight weight)

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

  - ### Method Detail

    - #### 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: `Scorable`
      Returns the doc ID that is currently being scored.
      Specified by:
        `docID` in class `Scorable`

    - #### 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`

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