org.apache.lucene.search

## Class SimpleCollector

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

- All Implemented Interfaces:
    Collector, LeafCollector
  Direct Known Subclasses:
    TotalHitCountCollector

      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 and Description
    `SimpleCollector()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and 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`.
    `LeafCollector` | `getLeafCollector(LeafReaderContext context)` Create a new `collector` to collect the given context.
    `void` | `setScorer(Scorer 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

      `needsScores`

- - ### Constructor Detail

    - #### SimpleCollector

          public SimpleCollector()

  - ### Method Detail

    - #### 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(Scorer 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 `IndexSearcher.doc(int)` or `IndexReader.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`

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