Package org.apache.lucene.search.spans
Class SpanWeight
- java.lang.Object
-
- org.apache.lucene.search.Weight
-
- org.apache.lucene.search.spans.SpanWeight
-
- All Implemented Interfaces:
SegmentCacheable
- Direct Known Subclasses:
PayloadScoreQuery.PayloadSpanWeight
,SpanContainQuery.SpanContainWeight
,SpanNearQuery.SpanGapQuery.SpanGapWeight
,SpanNearQuery.SpanNearWeight
,SpanNotQuery.SpanNotWeight
,SpanOrQuery.SpanOrWeight
,SpanPayloadCheckQuery.SpanPayloadCheckWeight
,SpanPositionCheckQuery.SpanPositionCheckWeight
,SpanTermQuery.SpanTermWeight
public abstract class SpanWeight extends Weight
Expert-only. Public for use by other weight implementations
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SpanWeight.Postings
Enumeration defining what postings information should be retrieved from the index for a given Spansprivate static class
SpanWeight.TermMatch
-
Nested classes/interfaces inherited from class org.apache.lucene.search.Weight
Weight.DefaultBulkScorer
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
field
protected Similarity
similarity
protected Similarity.SimScorer
simScorer
-
Fields inherited from class org.apache.lucene.search.Weight
parentQuery
-
-
Constructor Summary
Constructors Constructor Description SpanWeight(SpanQuery query, IndexSearcher searcher, java.util.Map<Term,TermStates> termStates, float boost)
Create a new SpanWeight
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private Similarity.SimScorer
buildSimWeight(SpanQuery query, IndexSearcher searcher, java.util.Map<Term,TermStates> termStates, float boost)
Explanation
explain(LeafReaderContext context, int doc)
An explanation of the score computation for the named document.abstract void
extractTermStates(java.util.Map<Term,TermStates> contexts)
Collect all TermStates used by this WeightLeafSimScorer
getSimScorer(LeafReaderContext context)
Return a LeafSimScorer for this contextabstract Spans
getSpans(LeafReaderContext ctx, SpanWeight.Postings requiredPostings)
Expert: Return a Spans object iterating over matches from this WeightMatches
matches(LeafReaderContext context, int doc)
ReturnsMatches
for a specific document, ornull
if the document does not match the parent query A query match that contains no position information (for example, a Point or DocValues query) will returnMatchesUtils.MATCH_WITH_NO_TERMS
SpanScorer
scorer(LeafReaderContext context)
Returns aScorer
which can iterate in order over all matching documents and assign them a score.-
Methods inherited from class org.apache.lucene.search.Weight
bulkScorer, extractTerms, getQuery, scorerSupplier
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.lucene.search.SegmentCacheable
isCacheable
-
-
-
-
Field Detail
-
similarity
protected final Similarity similarity
-
simScorer
protected final Similarity.SimScorer simScorer
-
field
protected final java.lang.String field
-
-
Constructor Detail
-
SpanWeight
public SpanWeight(SpanQuery query, IndexSearcher searcher, java.util.Map<Term,TermStates> termStates, float boost) throws java.io.IOException
Create a new SpanWeight- Parameters:
query
- the parent querysearcher
- the IndexSearcher to query againsttermStates
- a map of terms toTermStates
for use in building the similarity. May be null if scores are not required- Throws:
java.io.IOException
- on error
-
-
Method Detail
-
buildSimWeight
private Similarity.SimScorer buildSimWeight(SpanQuery query, IndexSearcher searcher, java.util.Map<Term,TermStates> termStates, float boost) throws java.io.IOException
- Throws:
java.io.IOException
-
extractTermStates
public abstract void extractTermStates(java.util.Map<Term,TermStates> contexts)
Collect all TermStates used by this Weight- Parameters:
contexts
- a map to add the TermStates to
-
getSpans
public abstract Spans getSpans(LeafReaderContext ctx, SpanWeight.Postings requiredPostings) throws java.io.IOException
Expert: Return a Spans object iterating over matches from this Weight- Parameters:
ctx
- a LeafReaderContext for this Spans- Returns:
- a Spans
- Throws:
java.io.IOException
- on error
-
scorer
public SpanScorer scorer(LeafReaderContext context) throws java.io.IOException
Description copied from class:Weight
Returns aScorer
which can iterate in order over all matching documents and assign them a score.NOTE: null can be returned if no documents will be scored by this query.
NOTE: The returned
Scorer
does not haveLeafReader.getLiveDocs()
applied, they need to be checked on top.- Specified by:
scorer
in classWeight
- Parameters:
context
- theLeafReaderContext
for which to return theScorer
.- Returns:
- a
Scorer
which scores documents in/out-of order. - Throws:
java.io.IOException
- if there is a low-level I/O error
-
getSimScorer
public LeafSimScorer getSimScorer(LeafReaderContext context) throws java.io.IOException
Return a LeafSimScorer for this context- Parameters:
context
- the LeafReaderContext- Returns:
- a SimWeight
- Throws:
java.io.IOException
- on error
-
explain
public Explanation explain(LeafReaderContext context, int doc) throws java.io.IOException
Description copied from class:Weight
An explanation of the score computation for the named document.- Specified by:
explain
in classWeight
- Parameters:
context
- the readers context to create theExplanation
for.doc
- the document's id relative to the given context's reader- Returns:
- an Explanation for the score
- Throws:
java.io.IOException
- if anIOException
occurs
-
matches
public Matches matches(LeafReaderContext context, int doc) throws java.io.IOException
Description copied from class:Weight
ReturnsMatches
for a specific document, ornull
if the document does not match the parent query A query match that contains no position information (for example, a Point or DocValues query) will returnMatchesUtils.MATCH_WITH_NO_TERMS
-
-