Package org.apache.lucene.search
Class DisjunctionMaxQuery.DisjunctionMaxWeight
- java.lang.Object
-
- org.apache.lucene.search.Weight
-
- org.apache.lucene.search.DisjunctionMaxQuery.DisjunctionMaxWeight
-
- All Implemented Interfaces:
SegmentCacheable
- Enclosing class:
- DisjunctionMaxQuery
protected class DisjunctionMaxQuery.DisjunctionMaxWeight extends Weight
Expert: the Weight for DisjunctionMaxQuery, used to normalize, score and explain these queries.NOTE: this API and implementation is subject to change suddenly in the next release.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.search.Weight
Weight.DefaultBulkScorer
-
-
Field Summary
Fields Modifier and Type Field Description protected ArrayList<Weight>
weights
The Weights for our subqueries, in 1-1 correspondence with disjuncts-
Fields inherited from class org.apache.lucene.search.Weight
parentQuery
-
-
Constructor Summary
Constructors Constructor Description DisjunctionMaxWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost)
Construct the Weight for this Query searched by searcher.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Explanation
explain(LeafReaderContext context, int doc)
Explain the score we computed for docvoid
extractTerms(Set<Term> terms)
Expert: adds all terms occurring in this query to the terms set.boolean
isCacheable(LeafReaderContext ctx)
Matches
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
Scorer
scorer(LeafReaderContext context)
Create the scorer used to score our associated DisjunctionMaxQuery-
Methods inherited from class org.apache.lucene.search.Weight
bulkScorer, getQuery, scorerSupplier
-
-
-
-
Constructor Detail
-
DisjunctionMaxWeight
public DisjunctionMaxWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException
Construct the Weight for this Query searched by searcher. Recursively construct subquery weights.- Throws:
IOException
-
-
Method Detail
-
extractTerms
public void extractTerms(Set<Term> terms)
Description copied from class:Weight
Expert: adds all terms occurring in this query to the terms set. If theWeight
was created withneedsScores == true
then this method will only extract terms which are used for scoring, otherwise it will extract all terms which are used for matching.- Specified by:
extractTerms
in classWeight
-
matches
public Matches matches(LeafReaderContext context, int doc) throws 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
- 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
-
scorer
public Scorer scorer(LeafReaderContext context) throws IOException
Create the scorer used to score our associated DisjunctionMaxQuery- 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
-
isCacheable
public boolean isCacheable(LeafReaderContext ctx)
- Returns:
true
if the object can be cached against a given leaf
-
explain
public Explanation explain(LeafReaderContext context, int doc) throws IOException
Explain the score we computed for doc- 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
-
-