org.apache.lucene.search
Class DisjunctionMaxQuery.DisjunctionMaxWeight

java.lang.Object
  extended by org.apache.lucene.search.Weight
      extended by 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
protected  Similarity similarity
          The Similarity implementation.
protected  ArrayList<Weight> weights
          The Weights for our subqueries, in 1-1 correspondence with disjuncts
 
Constructor Summary
DisjunctionMaxQuery.DisjunctionMaxWeight(Searcher searcher)
          Construct the Weight for this Query searched by searcher.
 
Method Summary
 Explanation explain(IndexReader reader, int doc)
          Explain the score we computed for doc
 Query getQuery()
          Return our associated DisjunctionMaxQuery
 float getValue()
          Return our boost
 void normalize(float norm)
          Apply the computed normalization factor to our subqueries
 Scorer scorer(IndexReader reader, boolean scoreDocsInOrder, boolean topScorer)
          Create the scorer used to score our associated DisjunctionMaxQuery
 float sumOfSquaredWeights()
          Compute the sub of squared weights of us applied to our subqueries.
 
Methods inherited from class org.apache.lucene.search.Weight
scoresDocsOutOfOrder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

similarity

protected Similarity similarity
The Similarity implementation.


weights

protected ArrayList<Weight> weights
The Weights for our subqueries, in 1-1 correspondence with disjuncts

Constructor Detail

DisjunctionMaxQuery.DisjunctionMaxWeight

public DisjunctionMaxQuery.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

Specified by:
getQuery in class Weight

getValue

public float getValue()
Return our boost

Specified by:
getValue in class Weight

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 class Weight
Throws:
IOException

normalize

public void normalize(float norm)
Apply the computed normalization factor to our subqueries

Specified by:
normalize in class Weight

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 class Weight
Parameters:
reader - the IndexReader for which to return the Scorer.
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 support DocIdSetIterator.nextDoc() and/or DocIdSetIterator.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/or DocIdSetIterator.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 class Weight
Parameters:
reader - sub-reader containing the give doc
Returns:
an Explanation for the score
Throws:
IOException