Class Weight.DefaultBulkScorer

  • Enclosing class:
    Weight

    protected static class Weight.DefaultBulkScorer
    extends BulkScorer
    Just wraps a Scorer and performs top scoring using it.
    NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
    • Constructor Detail

      • DefaultBulkScorer

        public DefaultBulkScorer​(Scorer scorer)
        Sole constructor.
    • 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