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


Field Summary
protected  int maxCoord
           
protected  Similarity similarity
          The Similarity implementation.
protected  ArrayList<Weight> weights
           
 
Constructor Summary
BooleanQuery.BooleanWeight(IndexSearcher searcher, boolean disableCoord)
           
 
Method Summary
 float coord(int overlap, int maxOverlap)
           
 Explanation explain(AtomicReaderContext context, int doc)
          An explanation of the score computation for the named document.
 Query getQuery()
          The query that this concerns.
 float getValueForNormalization()
          The value for normalization of contained query clauses (e.g.
 void normalize(float norm, float topLevelBoost)
          Assigns the query normalization factor and boost from parent queries to this.
 Scorer scorer(AtomicReaderContext context, boolean scoreDocsInOrder, boolean topScorer, Bits acceptDocs)
          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.
 
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(IndexSearcher 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

getValueForNormalization

public float getValueForNormalization()
                               throws IOException
Description copied from class: Weight
The value for normalization of contained query clauses (e.g. sum of squared weights).

Specified by:
getValueForNormalization in class Weight
Throws:
IOException

coord

public float coord(int overlap,
                   int maxOverlap)

normalize

public void normalize(float norm,
                      float topLevelBoost)
Description copied from class: Weight
Assigns the query normalization factor and boost from parent queries to this.

Specified by:
normalize in class Weight

explain

public Explanation explain(AtomicReaderContext context,
                           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:
context - the readers context to create the Explanation for.
doc - the document's id relative to the given context's reader
Returns:
an Explanation for the score
Throws:
IOException - if an IOException occurs

scorer

public Scorer scorer(AtomicReaderContext context,
                     boolean scoreDocsInOrder,
                     boolean topScorer,
                     Bits acceptDocs)
              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:
context - the AtomicReaderContext 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.
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:
IOException - if there is a low-level I/O error

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(AtomicReaderContext, boolean, boolean, Bits) 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


Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.