Interface CollectorManager<C extends Collector,​T>

  • All Known Implementing Classes:
    MultiCollectorManager

    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.
    See Also:
    IndexSearcher.search(Query, CollectorManager)
    • Method Detail

      • newCollector

        C newCollector()
                throws java.io.IOException
        Return a new Collector. This must return a different instance on each call.
        Throws:
        java.io.IOException
      • reduce

        T reduce​(java.util.Collection<C> collectors)
          throws java.io.IOException
        Reduce the results of individual collectors into a meaningful result. For instance a TopDocsCollector would compute the top docs of each collector and then merge them using TopDocs.merge(int, TopDocs[]). This method must be called after collection is finished on all provided collectors.
        Throws:
        java.io.IOException