org.apache.lucene.search
Class SpanHitCollector

Object
  extended by SpanHitCollector

public abstract class SpanHitCollector
extends Object

Lower-level search API. Collects hits and their associated matching spans.

Author:
Martin Haye
See Also:
RecordingSearcher.search(Query,SpanHitCollector)

Constructor Summary
SpanHitCollector()
           
 
Method Summary
abstract  void collect(int doc, float score, FieldSpanSource spans)
          Called once for every non-zero scoring document, with the document number and its score, plus any spans for fields in span queries.
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SpanHitCollector

public SpanHitCollector()
Method Detail

collect

public abstract void collect(int doc,
                             float score,
                             FieldSpanSource spans)
Called once for every non-zero scoring document, with the document number and its score, plus any spans for fields in span queries.

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 SpanHitCollector() {
       public void collect(int doc, float score, FieldSpans spans) {
         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.