## org.apache.lucene.search
Class Scorer

    java.lang.Object
      org.apache.lucene.search.DocIdSetIterator
          org.apache.lucene.index.DocsEnum
              org.apache.lucene.search.Scorer

Direct Known Subclasses:
  ConstantScoreQuery.ConstantScorer, ScoreCachingWrappingScorer, SpanScorer

    public abstract class Scorer

extends DocsEnum

Expert: Common scoring functionality for different types of queries.

A `Scorer` iterates over documents matching a query in increasing order of doc Id.

Document scores are computed using a given `Similarity` implementation.

NOTE: The values Float.Nan, Float.NEGATIVE_INFINITY and Float.POSITIVE_INFINITY are not valid scores. Certain collectors (eg `TopScoreDocCollector`) will not properly collect hits with these scores.

Nested Class Summary
`static class` `Scorer.ChildScorer` A child Scorer and its relationship to its parent.

Field Summary
`protected Weight` `weight` the Scorer's parent Weight.

Fields inherited from class org.apache.lucene.index.DocsEnum
`FLAG_FREQS, FLAG_NONE`

Fields inherited from class org.apache.lucene.search.DocIdSetIterator
`NO_MORE_DOCS`

Constructor Summary
`protected` `Scorer(Weight weight)` Constructs a Scorer

Method Summary
`Collection<Scorer.ChildScorer>` `getChildren()` Returns child sub-scorers
`Weight` `getWeight()` returns parent Weight
`abstract float` `score()` Returns the score of the current document matching the query.
`void` `score(Collector collector)` Scores and collects all matching documents.
`boolean` `score(Collector collector, int max, int firstDocID)` Expert: Collects matching documents in a range.

Methods inherited from class org.apache.lucene.index.DocsEnum
`attributes, freq`

Methods inherited from class org.apache.lucene.search.DocIdSetIterator
`advance, docID, nextDoc`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### weight

    protected final Weight weight

  the Scorer's parent Weight. in some cases this may be null

Constructor Detail

### Scorer

    protected Scorer(Weight weight)

  Constructs a Scorer

  Parameters:
    `weight` - The scorers `Weight`.

Method Detail

### score

    public void score(Collector collector)
               throws IOException

  Scores and collects all matching documents.

  Parameters:
    `collector` - The collector to which all matching documents are passed.
  Throws:
    `IOException`

### score

    public boolean score(Collector collector,
                         int max,
                         int firstDocID)
                  throws IOException

  Expert: Collects matching documents in a range. Hook for optimization. Note, `firstDocID` is added to ensure that `DocIdSetIterator.nextDoc()` was called before this method.

  Parameters:
    `collector` - The collector to which all matching documents are passed.
    `max` - Do not score documents past this.
    `firstDocID` - The first document ID (ensures `DocIdSetIterator.nextDoc()` is called before this method.
  Returns:
    true if more matching documents may remain.
  Throws:
    `IOException`

### score

    public abstract float score()
                         throws IOException

  Returns the score of the current document matching the query. Initially invalid, until `DocIdSetIterator.nextDoc()` or `DocIdSetIterator.advance(int)` is called the first time, or when called from within `Collector.collect(int)`.

  Throws:
    `IOException`

### getWeight

    public Weight getWeight()

  returns parent Weight

  WARNING: This API is experimental and might change in incompatible ways in the next release.

### getChildren

    public Collection<Scorer.ChildScorer> getChildren()

  Returns child sub-scorers

  WARNING: This API is experimental and might change in incompatible ways in the next release.

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