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 155607 2005-02-27 01:29:53Z otis $

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 {@link Searcher#doc(int)} or {@link org.apache.lucene.index.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.

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