Package org.apache.lucene.search

# Class SimpleCollector

java.lang.Object
org.apache.lucene.search.SimpleCollector

All Implemented Interfaces:
  `Collector`, `LeafCollector`

public abstract class SimpleCollector extends Object implements Collector, LeafCollector
Base `Collector` implementation that is used to collect all contexts.

WARNING: This API is experimental and might change in incompatible ways in the next release.

## Constructor Summary

Constructors
Constructor
Description
`SimpleCollector()`

## Method Summary

Modifier and Type
Method
Description
`abstract void`
`collect(int doc)`
Called once for every document matching a query, with the unbased document number.
`protected void`
`doSetNextReader(LeafReaderContext context)`
This method is called before collecting `context`.
`final LeafCollector`
`getLeafCollector(LeafReaderContext context)`
Create a new `collector` to collect the given context.
`void`
`setScorer(Scorable scorer)`
Called before successive calls to `LeafCollector.collect(int)`.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.apache.lucene.search.Collector

`scoreMode, setWeight`

### Methods inherited from interface org.apache.lucene.search.LeafCollector

`collect, competitiveIterator, finish`

## Constructor Details

### SimpleCollector

public SimpleCollector()

## Method Details

### getLeafCollector

public final LeafCollector getLeafCollector(LeafReaderContext context) throws IOException
Description copied from interface: `Collector`
Create a new `collector` to collect the given context.

Specified by:
  `getLeafCollector` in interface `Collector`
Parameters:
  `context` - next atomic reader context
Throws:
  `IOException`

### doSetNextReader

protected void doSetNextReader(LeafReaderContext context) throws IOException
This method is called before collecting `context`.

Throws:
  `IOException`

### setScorer

public void setScorer(Scorable scorer) throws IOException
Description copied from interface: `LeafCollector`
Called before successive calls to `LeafCollector.collect(int)`. Implementations that need the score of the current document (passed-in to `LeafCollector.collect(int)`), should save the passed-in Scorer and call scorer.score() when needed.

Specified by:
  `setScorer` in interface `LeafCollector`
Throws:
  `IOException`

### collect

public abstract void collect(int doc) throws IOException
Description copied from interface: `LeafCollector`
Called once for every document matching a query, with the unbased document number.

Note: The collection of the current segment can be terminated by throwing a `CollectionTerminatedException`. In this case, the last docs of the current `LeafReaderContext` will be skipped and `IndexSearcher` will swallow the exception and continue collection with the next leaf.

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

Specified by:
  `collect` in interface `LeafCollector`
Throws:
  `IOException`