Package org.apache.lucene.queries.spans
Class SpanScorer
- java.lang.Object
-
- org.apache.lucene.search.Scorable
-
- org.apache.lucene.search.Scorer
-
- org.apache.lucene.queries.spans.SpanScorer
-
- Direct Known Subclasses:
PayloadScoreQuery.PayloadSpanScorer
public class SpanScorer extends Scorer
-
-
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 LeafSimScorer
docScorer
private float
freq
accumulated sloppy freq (computed in setFreqCurrentDoc)private int
lastScoredDoc
protected Spans
spans
-
Constructor Summary
Constructors Constructor Description SpanScorer(SpanWeight weight, Spans spans, LeafSimScorer docScorer)
Sole constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
docID()
Returns the doc ID that is currently being scored.private void
ensureFreq()
Ensure setFreqCurrentDoc is called, if not already called for the current doc.float
getMaxScore(int upTo)
Return the maximum score that documents between the lasttarget
that this iterator wasshallow-advanced
to included andupTo
included.Spans
getSpans()
return the Spans for this Scorer *DocIdSetIterator
iterator()
Return aDocIdSetIterator
over matching documents.float
score()
Returns the score of the current document matching the query.protected float
scoreCurrentDoc()
Score the current doc.protected void
setFreqCurrentDoc()
Setsfreq
for the current document.(package private) float
sloppyFreq()
Returns the intermediate "sloppy freq" adjusted for edit distanceTwoPhaseIterator
twoPhaseIterator()
Optional method: Return aTwoPhaseIterator
view of thisScorer
.-
Methods inherited from class org.apache.lucene.search.Scorer
advanceShallow, getWeight
-
Methods inherited from class org.apache.lucene.search.Scorable
getChildren, setMinCompetitiveScore, smoothingScore
-
-
-
-
Field Detail
-
spans
protected final Spans spans
-
docScorer
protected final LeafSimScorer docScorer
-
freq
private float freq
accumulated sloppy freq (computed in setFreqCurrentDoc)
-
lastScoredDoc
private int lastScoredDoc
-
-
Constructor Detail
-
SpanScorer
public SpanScorer(SpanWeight weight, Spans spans, LeafSimScorer docScorer)
Sole constructor.
-
-
Method Detail
-
getSpans
public Spans getSpans()
return the Spans for this Scorer *
-
docID
public int docID()
Description copied from class:Scorable
Returns the doc ID that is currently being scored.
-
iterator
public DocIdSetIterator iterator()
Description copied from class:Scorer
Return aDocIdSetIterator
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.
-
twoPhaseIterator
public TwoPhaseIterator twoPhaseIterator()
Description copied from class:Scorer
Optional method: Return aTwoPhaseIterator
view of thisScorer
. A return value ofnull
indicates that two-phase iteration is not supported.Note that the returned
TwoPhaseIterator
'sapproximation
must advance synchronously with theScorer.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 classScorer
-
scoreCurrentDoc
protected float scoreCurrentDoc() throws java.io.IOException
Score the current doc. The default implementation scores the doc with the similarity using the slop-adjustedfreq
.- Throws:
java.io.IOException
-
setFreqCurrentDoc
protected final void setFreqCurrentDoc() throws java.io.IOException
Setsfreq
for the current document.This will be called at most once per document.
- Throws:
java.io.IOException
-
ensureFreq
private void ensureFreq() throws java.io.IOException
Ensure setFreqCurrentDoc is called, if not already called for the current doc.- Throws:
java.io.IOException
-
score
public final float score() throws java.io.IOException
Description copied from class:Scorable
Returns the score of the current document matching the query.
-
getMaxScore
public float getMaxScore(int upTo) throws java.io.IOException
Description copied from class:Scorer
Return the maximum score that documents between the lasttarget
that this iterator wasshallow-advanced
to included andupTo
included.- Specified by:
getMaxScore
in classScorer
- Throws:
java.io.IOException
-
sloppyFreq
final float sloppyFreq() throws java.io.IOException
Returns the intermediate "sloppy freq" adjusted for edit distance- Throws:
java.io.IOException
-
-