Interface CollectorManager<C extends Collector,T>

All Known Implementing Classes:
MultiCollectorManager, TopFieldCollectorManager, TopScoreDocCollectorManager, TotalHitCountCollectorManager

public interface CollectorManager<C extends Collector,T>
A manager of collectors. This class is useful to parallelize execution of search requests and has two main methods:
  • newCollector() which must return a NEW collector which will be used to collect a certain set of leaves.
  • reduce(Collection) which will be used to reduce the results of individual collections into a meaningful result. This method is only called after all leaves have been fully collected.

Note: Multiple LeafCollectors may be requested for the same LeafReaderContext via Collector.getLeafCollector(LeafReaderContext) across the different Collectors returned by newCollector(). Any computation or logic that needs to happen once per segment requires specific handling in the collector manager implementation, because the collection of an entire segment may be split across threads.

See Also:
WARNING: This API is experimental and might change in incompatible ways in the next release.
  • Method Summary

    Modifier and Type
    Method
    Description
    Return a new Collector.
    reduce(Collection<C> collectors)
    Reduce the results of individual collectors into a meaningful result.