Package 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
Nested Classes Modifier and Type Class Description static class
Scorer.ChildScorer
A child Scorer and its relationship to its parent.
-
Field Summary
Fields Modifier and Type Field Description 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
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Collection<Scorer.ChildScorer>
getChildren()
Returns child sub-scorersWeight
getWeight()
returns parent Weightabstract 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, cost, docID, empty, nextDoc, slowAdvance
-
-
-
-
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 scorersWeight
.
-
-
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 thatDocIdSetIterator.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 (ensuresDocIdSetIterator.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, untilDocIdSetIterator.nextDoc()
orDocIdSetIterator.advance(int)
is called the first time, or when called from withinCollector.collect(int)
.- Throws:
IOException
-
getWeight
public Weight getWeight()
returns parent Weight
-
getChildren
public Collection<Scorer.ChildScorer> getChildren()
Returns child sub-scorers
-
-