org.apache.lucene.search

Class HitCollector

public abstract class HitCollector extends Object

Lower-level search API.
HitCollectors are primarily meant to be used to implement queries, sorting and filtering.

Version: $Id: HitCollector.java 472959 2006-11-09 16:21:50Z yonik $

See Also: search

Method Summary
abstract voidcollect(int doc, float score)
Called once for every non-zero scoring document, with the document number and its score.

Method Detail

collect

public abstract void collect(int doc, float score)
Called once for every non-zero scoring document, with the document number and its 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 or IndexReader 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.

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