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

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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 java.util.ArrayList<Weight> weights
      • maxCoord

        protected int maxCoord
    • Constructor Detail

      • BooleanWeight

        public BooleanWeight​(IndexSearcher searcher,
                             boolean disableCoord)
                      throws java.io.IOException
        Throws:
        java.io.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 java.io.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:
        java.io.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 java.io.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:
        java.io.IOException - if an IOException occurs
      • scorer

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