Documentation of 'org.apache.lucene.search.TopFieldDocCollector' Java class
TopFieldDocCollector
org.apache.lucene.search

Class TopFieldDocCollector



  • public class TopFieldDocCollector
    extends TopDocCollector
    A HitCollector implementation that collects the top-sorting documents, returning them as a TopFieldDocs. This is used by IndexSearcher to implement TopFieldDocs-based search.

    This may be extended, overriding the collect method to, e.g., conditionally invoke super() in order to filter which documents are collected.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      void collect(int doc, float score)
      Called once for every document matching a query, with the document number and its raw score.
      TopDocs topDocs()
      The top-scoring hits.
      • Methods inherited from class java.lang.Object

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

      • TopFieldDocCollector

        public TopFieldDocCollector(IndexReader reader,
                                    Sort sort,
                                    int numHits)
                             throws java.io.IOException
        Construct to collect a given number of hits.
        Parameters:
        reader - the index to be searched
        sort - the sort criteria
        numHits - the maximum number of hits to collect
        Throws:
        java.io.IOException
    • Method Detail

      • collect

        public void collect(int doc,
                            float score)
        Description copied from class: HitCollector
        Called once for every document matching a query, with the document number and its raw score.

        If, for example, an application wished to collect all of the hits for a query in a BitSet, then it might:

           Searcher searcher = new IndexSearcher(indexReader);
           final BitSet bits = new BitSet(indexReader.maxDoc());
           searcher.search(query, new HitCollector() {
               public void collect(int doc, float score) {
                 bits.set(doc);
               }
             });
         

        Note: This is called in an inner search loop. For good search performance, implementations of this method should not call Searcher.doc(int) or IndexReader.document(int) on every document number encountered. Doing so can slow searches by an order of magnitude or more.

        Note: The score passed to this method is a raw score. In other words, the score will not necessarily be a float whose value is between 0 and 1.

        Overrides:
        collect in class TopDocCollector

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.