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 enumEnumeration defining what postings information should be retrieved from the index for a given Spansprivate static classNested classes/interfaces inherited from class org.apache.lucene.search.Weight
Weight.DefaultBulkScorer -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Stringprotected final Similarityprotected final Similarity.SimScorerFields 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.SimScorerbuildSimWeight(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 voidextractTermStates(Map<Term, TermStates> contexts) Collect all TermStates used by this WeightgetSimScorer(LeafReaderContext context) Return a LeafSimScorer for this contextabstract SpansgetSpans(LeafReaderContext ctx, SpanWeight.Postings requiredPostings) Expert: Return a Spans object iterating over matches from this Weightmatches(LeafReaderContext context, int doc) ReturnsMatchesfor a specific document, ornullif the document does not match the parent queryscorer(LeafReaderContext context) Returns aScorerwhich 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, scorerSupplierMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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 toTermStatesfor 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:WeightReturns aScorerwhich 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
Scorerdoes not haveLeafReader.getLiveDocs()applied, they need to be checked on top.- Specified by:
scorerin classWeight- Parameters:
context- theLeafReaderContextfor which to return theScorer.- Returns:
- a
Scorerwhich 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:WeightAn explanation of the score computation for the named document.- Specified by:
explainin classWeight- Parameters:
context- the readers context to create theExplanationfor.doc- the document's id relative to the given context's reader- Returns:
- an Explanation for the score
- Throws:
IOException- if anIOExceptionoccurs
-
matches
Description copied from class:WeightReturnsMatchesfor a specific document, ornullif 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:
matchesin classWeight- Parameters:
context- the reader's context to create theMatchesfordoc- the document's id relative to the given context's reader- Throws:
IOException
-