org.apache.lucene.search
Class TopDocCollector

java.lang.Object
  extended by org.apache.lucene.search.HitCollector
      extended by org.apache.lucene.search.TopDocCollector
Direct Known Subclasses:
TopFieldDocCollector

Deprecated. Please use TopScoreDocCollector instead, which has better performance.

public class TopDocCollector
extends HitCollector

A HitCollector implementation that collects the top-scoring documents, returning them as a TopDocs. This is used by IndexSearcher to implement TopDocs-based search.

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


Field Summary
protected  PriorityQueue hq
          Deprecated. The priority queue which holds the top-scoring documents.
protected  int totalHits
          Deprecated. The total number of hits the collector encountered.
 
Constructor Summary
  TopDocCollector(int numHits)
          Deprecated. Construct to collect a given number of hits.
protected TopDocCollector(PriorityQueue hq)
          Deprecated. Constructor to collect the top-scoring documents by using the given PQ.
 
Method Summary
 void collect(int doc, float score)
          Deprecated. Called once for every document matching a query, with the document number and its raw score.
 int getTotalHits()
          Deprecated. The total number of documents that matched this query.
 TopDocs topDocs()
          Deprecated. The top-scoring hits.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

totalHits

protected int totalHits
Deprecated. 
The total number of hits the collector encountered.


hq

protected PriorityQueue hq
Deprecated. 
The priority queue which holds the top-scoring documents.

Constructor Detail

TopDocCollector

public TopDocCollector(int numHits)
Deprecated. 
Construct to collect a given number of hits.

Parameters:
numHits - the maximum number of hits to collect

TopDocCollector

protected TopDocCollector(PriorityQueue hq)
Deprecated. 
Constructor to collect the top-scoring documents by using the given PQ.

Parameters:
hq - the PQ to use by this instance.
Method Detail

collect

public void collect(int doc,
                    float score)
Deprecated. 
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.

Specified by:
collect in class HitCollector

getTotalHits

public int getTotalHits()
Deprecated. 
The total number of documents that matched this query.


topDocs

public TopDocs topDocs()
Deprecated. 
The top-scoring hits.



Copyright © 2000-2010 Apache Software Foundation. All Rights Reserved.