Package org.apache.lucene.search
Class DisjunctionMaxQuery.DisjunctionMaxWeight
- java.lang.Object
-
- org.apache.lucene.search.Weight
-
- org.apache.lucene.search.DisjunctionMaxQuery.DisjunctionMaxWeight
-
- 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.
-
-
Constructor Summary
Constructors Constructor Description DisjunctionMaxWeight(IndexSearcher searcher)
Construct the Weight for this Query searched by searcher.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Explanation
explain(AtomicReaderContext context, int doc)
Explain the score we computed for docQuery
getQuery()
Return our associated DisjunctionMaxQueryfloat
getValueForNormalization()
Compute the sub of squared weights of us applied to our subqueries.void
normalize(float norm, float topLevelBoost)
Apply the computed normalization factor to our subqueriesScorer
scorer(AtomicReaderContext context, boolean scoreDocsInOrder, boolean topScorer, Bits acceptDocs)
Create the scorer used to score our associated DisjunctionMaxQuery-
Methods inherited from class org.apache.lucene.search.Weight
scoresDocsOutOfOrder
-
-
-
-
Field Detail
-
weights
protected java.util.ArrayList<Weight> weights
The Weights for our subqueries, in 1-1 correspondence with disjuncts
-
-
Constructor Detail
-
DisjunctionMaxWeight
public DisjunctionMaxWeight(IndexSearcher searcher) throws java.io.IOException
Construct the Weight for this Query searched by searcher. Recursively construct subquery weights.- Throws:
java.io.IOException
-
-
Method Detail
-
getQuery
public Query getQuery()
Return our associated DisjunctionMaxQuery
-
getValueForNormalization
public float getValueForNormalization() throws java.io.IOException
Compute the sub of squared weights of us applied to our subqueries. Used for normalization.- Specified by:
getValueForNormalization
in classWeight
- Throws:
java.io.IOException
-
normalize
public void normalize(float norm, float topLevelBoost)
Apply the computed normalization factor to our subqueries
-
scorer
public Scorer scorer(AtomicReaderContext context, boolean scoreDocsInOrder, boolean topScorer, Bits acceptDocs) throws java.io.IOException
Create the scorer used to score our associated DisjunctionMaxQuery- Specified by:
scorer
in classWeight
- Parameters:
context
- theAtomicReaderContext
for which to return theScorer
.scoreDocsInOrder
- specifies whether in-order scoring of documents is required. Note that if set to false (i.e., out-of-order scoring is required), this method can return whatever scoring mode it supports, as every in-order scorer is also an out-of-order one. However, an out-of-order scorer may not supportDocIdSetIterator.nextDoc()
and/orDocIdSetIterator.advance(int)
, therefore it is recommended to request an in-order scorer if use of these methods is required.topScorer
- if true,Scorer.score(Collector)
will be called; if false,DocIdSetIterator.nextDoc()
and/orDocIdSetIterator.advance(int)
will be called.acceptDocs
- Bits that represent the allowable docs to match (typically deleted docs but possibly filtering other documents)- Returns:
- a
Scorer
which scores documents in/out-of order. - Throws:
java.io.IOException
- if there is a low-level I/O error
-
explain
public Explanation explain(AtomicReaderContext context, int doc) throws java.io.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:
java.io.IOException
- if anIOException
occurs
-
-