Package org.apache.lucene.search.spans
Class SpanScorer
- java.lang.Object
-
- org.apache.lucene.search.Scorable
-
- org.apache.lucene.search.Scorer
-
- org.apache.lucene.search.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 LeafSimScorerdocScorerprivate floatfreqaccumulated sloppy freq (computed in setFreqCurrentDoc)private intlastScoredDocprivate intnumMatchesnumber of matches (computed in setFreqCurrentDoc)protected Spansspans
-
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 intdocID()Returns the doc ID that is currently being scored.private voidensureFreq()Ensure setFreqCurrentDoc is called, if not already called for the current doc.floatgetMaxScore(int upTo)Return the maximum score that documents between the lasttargetthat this iterator wasshallow-advancedto included andupToincluded.SpansgetSpans()return the Spans for this ScorerDocIdSetIteratoriterator()Return aDocIdSetIteratorover matching documents.floatscore()Returns the score of the current document matching the query.protected floatscoreCurrentDoc()Score the current doc.protected voidsetFreqCurrentDoc()SetsfreqandnumMatchesfor the current document.(package private) floatsloppyFreq()Returns the intermediate "sloppy freq" adjusted for edit distanceTwoPhaseIteratortwoPhaseIterator()Optional method: Return aTwoPhaseIteratorview of thisScorer.-
Methods inherited from class org.apache.lucene.search.Scorer
advanceShallow, getWeight
-
Methods inherited from class org.apache.lucene.search.Scorable
getChildren, setMinCompetitiveScore
-
-
-
-
Field Detail
-
spans
protected final Spans spans
-
docScorer
protected final LeafSimScorer docScorer
-
freq
private float freq
accumulated sloppy freq (computed in setFreqCurrentDoc)
-
numMatches
private int numMatches
number of matches (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:ScorableReturns the doc ID that is currently being scored.
-
iterator
public DocIdSetIterator iterator()
Description copied from class:ScorerReturn aDocIdSetIteratorover matching documents. The returned iterator will either be positioned on-1if no documents have been scored yet,DocIdSetIterator.NO_MORE_DOCSif 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:ScorerOptional method: Return aTwoPhaseIteratorview of thisScorer. A return value ofnullindicates that two-phase iteration is not supported. Note that the returnedTwoPhaseIterator'sapproximationmust advance synchronously with theScorer.iterator(): advancing the approximation must advance the iterator and vice-versa. Implementing this method is typically useful onScorers that have a high per-document overhead in order to confirm matches. The default implementation returnsnull.- Overrides:
twoPhaseIteratorin classScorer
-
scoreCurrentDoc
protected float scoreCurrentDoc() throws java.io.IOExceptionScore 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- Throws:
java.io.IOException
-
ensureFreq
private void ensureFreq() throws java.io.IOExceptionEnsure setFreqCurrentDoc is called, if not already called for the current doc.- Throws:
java.io.IOException
-
score
public final float score() throws java.io.IOExceptionDescription copied from class:ScorableReturns the score of the current document matching the query.
-
getMaxScore
public float getMaxScore(int upTo) throws java.io.IOExceptionDescription copied from class:ScorerReturn the maximum score that documents between the lasttargetthat this iterator wasshallow-advancedto included andupToincluded.- Specified by:
getMaxScorein classScorer- Throws:
java.io.IOException
-
sloppyFreq
final float sloppyFreq() throws java.io.IOExceptionReturns the intermediate "sloppy freq" adjusted for edit distance- Throws:
java.io.IOException
-
-