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:
Serializable
- 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.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Similarity
similarity
The Similarity implementation.protected ArrayList<Weight>
weights
The Weights for our subqueries, in 1-1 correspondence with disjuncts
-
Constructor Summary
Constructors Constructor Description DisjunctionMaxWeight(Searcher 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(IndexReader reader, int doc)
Explain the score we computed for docQuery
getQuery()
Return our associated DisjunctionMaxQueryfloat
getValue()
Return our boostvoid
normalize(float norm)
Apply the computed normalization factor to our subqueriesScorer
scorer(IndexReader reader, boolean scoreDocsInOrder, boolean topScorer)
Create the scorer used to score our associated DisjunctionMaxQueryfloat
sumOfSquaredWeights()
Compute the sub of squared weights of us applied to our subqueries.-
Methods inherited from class org.apache.lucene.search.Weight
scoresDocsOutOfOrder
-
-
-
-
Field Detail
-
similarity
protected Similarity similarity
The Similarity implementation.
-
-
Constructor Detail
-
DisjunctionMaxWeight
public DisjunctionMaxWeight(Searcher searcher) throws IOException
Construct the Weight for this Query searched by searcher. Recursively construct subquery weights.- Throws:
IOException
-
-
Method Detail
-
getQuery
public Query getQuery()
Return our associated DisjunctionMaxQuery
-
sumOfSquaredWeights
public float sumOfSquaredWeights() throws IOException
Compute the sub of squared weights of us applied to our subqueries. Used for normalization.- Specified by:
sumOfSquaredWeights
in classWeight
- Throws:
IOException
-
normalize
public void normalize(float norm)
Apply the computed normalization factor to our subqueries
-
scorer
public Scorer scorer(IndexReader reader, boolean scoreDocsInOrder, boolean topScorer) throws IOException
Create the scorer used to score our associated DisjunctionMaxQuery- Specified by:
scorer
in classWeight
- Parameters:
reader
- theIndexReader
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.- Returns:
- a
Scorer
which scores documents in/out-of order. - Throws:
IOException
-
explain
public Explanation explain(IndexReader reader, int doc) throws IOException
Explain the score we computed for doc- Specified by:
explain
in classWeight
- Parameters:
reader
- sub-reader containing the give doc- Returns:
- an Explanation for the score
- Throws:
IOException
-
-