Package org.apache.lucene.queries.spans
Class SpanWeight
java.lang.Object
org.apache.lucene.search.Weight
org.apache.lucene.queries.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
Expert-only. Public for use by other weight implementations
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
Enumeration defining what postings information should be retrieved from the index for a given Spansprivate static class
Nested classes/interfaces inherited from class org.apache.lucene.search.Weight
Weight.DefaultBulkScorer
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final String
protected final Similarity
protected final Similarity.SimScorer
Fields inherited from class org.apache.lucene.search.Weight
parentQuery
-
Constructor Summary
ConstructorsConstructorDescriptionSpanWeight
(SpanQuery query, IndexSearcher searcher, Map<Term, TermStates> termStates, float boost) Create a new SpanWeight -
Method Summary
Modifier and TypeMethodDescriptionprivate Similarity.SimScorer
buildSimWeight
(SpanQuery query, IndexSearcher searcher, Map<Term, TermStates> termStates, float boost) explain
(LeafReaderContext context, int doc) An explanation of the score computation for the named document.abstract void
extractTermStates
(Map<Term, TermStates> contexts) Collect all TermStates used by this WeightgetSimScorer
(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
(LeafReaderContext context, int doc) ReturnsMatches
for a specific document, ornull
if the document does not match the parent queryscorer
(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, count, 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 Details
-
similarity
-
simScorer
-
field
-
-
Constructor Details
-
SpanWeight
public SpanWeight(SpanQuery query, IndexSearcher searcher, Map<Term, TermStates> termStates, float boost) throws IOExceptionCreate 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:
IOException
- on error
-
-
Method Details
-
buildSimWeight
private Similarity.SimScorer buildSimWeight(SpanQuery query, IndexSearcher searcher, Map<Term, TermStates> termStates, float boost) throws IOException- Throws:
IOException
-
extractTermStates
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 IOException Expert: Return a Spans object iterating over matches from this Weight- Parameters:
ctx
- a LeafReaderContext for this Spans- Returns:
- a Spans
- Throws:
IOException
- on error
-
scorer
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:
IOException
- if there is a low-level I/O error
-
getSimScorer
Return a LeafSimScorer for this context- Parameters:
context
- the LeafReaderContext- Returns:
- a SimWeight
- Throws:
IOException
- on error
-
explain
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:
IOException
- if anIOException
occurs
-
matches
Description copied from class:Weight
ReturnsMatches
for a specific document, ornull
if the document does not match the parent queryA query match that contains no position information (for example, a Point or DocValues query) will return
MatchesUtils.MATCH_WITH_NO_TERMS
- Overrides:
matches
in classWeight
- Parameters:
context
- the reader's context to create theMatches
fordoc
- the document's id relative to the given context's reader- Throws:
IOException
-