org.apache.lucene.search
Class BooleanQuery.BooleanWeight

java.lang.Object
  extended by org.apache.lucene.search.Weight
      extended by org.apache.lucene.search.BooleanQuery.BooleanWeight
All Implemented Interfaces:
Serializable
Enclosing class:
BooleanQuery

protected class BooleanQuery.BooleanWeight
extends Weight

Expert: the Weight for BooleanQuery, 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  int maxCoord
           
protected  Similarity similarity
          The Similarity implementation.
protected  ArrayList<Weight> weights
           
 
Constructor Summary
BooleanQuery.BooleanWeight(Searcher searcher, boolean disableCoord)
           
 
Method Summary
 Explanation explain(IndexReader reader, int doc)
          An explanation of the score computation for the named document.
 Query getQuery()
          The query that this concerns.
 float getValue()
          The weight for this query.
 void normalize(float norm)
          Assigns the query normalization factor to this.
 Scorer scorer(IndexReader reader, boolean scoreDocsInOrder, boolean topScorer)
          Returns a Scorer which scores documents in/out-of order according to scoreDocsInOrder.
 boolean scoresDocsOutOfOrder()
          Returns true iff this implementation scores docs only out of order.
 float sumOfSquaredWeights()
          The sum of squared weights of contained query clauses.
 
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

maxCoord

protected int maxCoord
Constructor Detail

BooleanQuery.BooleanWeight

public BooleanQuery.BooleanWeight(Searcher searcher,
                                  boolean disableCoord)
                           throws IOException
Throws:
IOException
Method Detail

getQuery

public Query getQuery()
Description copied from class: Weight
The query that this concerns.

Specified by:
getQuery in class Weight

getValue

public float getValue()
Description copied from class: Weight
The weight for this query.

Specified by:
getValue in class Weight

sumOfSquaredWeights

public float sumOfSquaredWeights()
                          throws IOException
Description copied from class: Weight
The sum of squared weights of contained query clauses.

Specified by:
sumOfSquaredWeights in class Weight
Throws:
IOException

normalize

public void normalize(float norm)
Description copied from class: Weight
Assigns the query normalization factor to this.

Specified by:
normalize in class Weight

explain

public Explanation explain(IndexReader reader,
                           int doc)
                    throws IOException
Description copied from class: Weight
An explanation of the score computation for the named document.

Specified by:
explain in class Weight
Parameters:
reader - sub-reader containing the give doc
Returns:
an Explanation for the score
Throws:
IOException

scorer

public Scorer scorer(IndexReader reader,
                     boolean scoreDocsInOrder,
                     boolean topScorer)
              throws IOException
Description copied from class: Weight
Returns a Scorer which scores documents in/out-of order according to scoreDocsInOrder.

NOTE: even if scoreDocsInOrder is false, it is recommended to check whether the returned Scorer indeed scores documents out of order (i.e., call Weight.scoresDocsOutOfOrder()), as some Scorer implementations will always return documents in-order.
NOTE: null can be returned if no documents will be scored by this query.

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

scoresDocsOutOfOrder

public boolean scoresDocsOutOfOrder()
Description copied from class: Weight
Returns true iff this implementation scores docs only out of order. This method is used in conjunction with Collector's acceptsDocsOutOfOrder and Weight.scorer(org.apache.lucene.index.IndexReader, boolean, boolean) to create a matching Scorer instance for a given Collector, or vice versa.

NOTE: the default implementation returns false, i.e. the Scorer scores documents in-order.

Overrides:
scoresDocsOutOfOrder in class Weight