Class ConstantScoreQuery.ConstantBulkScorer

  • Enclosing class:
    ConstantScoreQuery

    protected static class ConstantScoreQuery.ConstantBulkScorer
    extends BulkScorer
    We return this as our BulkScorer so that if the CSQ wraps a query with its own optimized top-level scorer (e.g. BooleanScorer) we can use that top-level scorer.
    • Constructor Detail

      • ConstantBulkScorer

        public ConstantBulkScorer​(BulkScorer bulkScorer,
                                  Weight weight,
                                  float theScore)
    • Method Detail

      • score

        public int score​(LeafCollector collector,
                         Bits acceptDocs,
                         int min,
                         int max)
                  throws IOException
        Description copied from class: BulkScorer
        Collects matching documents in a range and return an estimation of the next matching document which is on or after max.

        The return value must be:

        min is the minimum document to be considered for matching. All documents strictly before this value must be ignored.

        Although max would be a legal return value for this method, higher values might help callers skip more efficiently over non-matching portions of the docID space.

        For instance, a Scorer-based implementation could look like below:

         private final Scorer scorer; // set via constructor
        
         public int score(LeafCollector collector, Bits acceptDocs, int min, int max) throws IOException {
           collector.setScorer(scorer);
           int doc = scorer.docID();
           if (doc < min) {
             doc = scorer.advance(min);
           }
           while (doc < max) {
             if (acceptDocs == null || acceptDocs.get(doc)) {
               collector.collect(doc);
             }
             doc = scorer.nextDoc();
           }
           return doc;
         }
         
        Specified by:
        score in class BulkScorer
        Parameters:
        collector - The collector to which all matching documents are passed.
        acceptDocs - Bits that represents the allowed documents to match, or null if they are all allowed to match.
        min - Score starting at, including, this document
        max - Score up to, but not including, this doc
        Returns:
        an under-estimation of the next matching doc after max
        Throws:
        IOException