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`

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