Class CompletionScorer

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean accept​(int docID, Bits liveDocs)
      Returns true if a document with docID is accepted, false if the docID maps to a deleted document or has been filtered out
      long cost()
      Same as DocIdSetIterator.cost() for bulk scorers.
      float score​(float weight, float boost)
      Returns the score for a matched completion based on the query time boost and the index time weight.
      int score​(LeafCollector collector, Bits acceptDocs, int min, int max)
      Collects matching documents in a range and return an estimation of the next matching document which is on or after max.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CompletionScorer

        protected CompletionScorer​(CompletionWeight weight,
                                   NRTSuggester suggester,
                                   LeafReader reader,
                                   Bits filterDocs,
                                   boolean filtered,
                                   Automaton automaton)
                            throws java.io.IOException
        Creates a scorer for a field-specific suggester scoped by acceptDocs
        Throws:
        java.io.IOException
    • Method Detail

      • score

        public int score​(LeafCollector collector,
                         Bits acceptDocs,
                         int min,
                         int max)
                  throws java.io.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:
        java.io.IOException
      • accept

        public final boolean accept​(int docID,
                                    Bits liveDocs)
        Returns true if a document with docID is accepted, false if the docID maps to a deleted document or has been filtered out
        Parameters:
        liveDocs - the Bits representing live docs, or possibly null if all docs are live
      • score

        public float score​(float weight,
                           float boost)
        Returns the score for a matched completion based on the query time boost and the index time weight.