Class BestDocsDeferringCollector

java.lang.Object
org.elasticsearch.search.aggregations.BucketCollector
org.elasticsearch.search.aggregations.bucket.DeferringBucketCollector
org.elasticsearch.search.aggregations.bucket.sampler.BestDocsDeferringCollector
All Implemented Interfaces:
java.io.Closeable, java.lang.AutoCloseable, org.apache.lucene.search.Collector, Releasable

public class BestDocsDeferringCollector
extends DeferringBucketCollector
implements Releasable
A specialization of DeferringBucketCollector that collects all matches and then replays only the top scoring documents to child aggregations. The method createTopDocsCollector(int) is designed to be overridden and allows subclasses to choose a custom collector implementation for determining the top N matches.
  • Method Details

    • scoreMode

      public org.apache.lucene.search.ScoreMode scoreMode()
      Specified by:
      scoreMode in interface org.apache.lucene.search.Collector
    • setDeferredCollector

      public void setDeferredCollector​(java.lang.Iterable<BucketCollector> deferredCollectors)
      Set the deferred collectors.
      Specified by:
      setDeferredCollector in class DeferringBucketCollector
    • getLeafCollector

      public LeafBucketCollector getLeafCollector​(org.apache.lucene.index.LeafReaderContext ctx) throws java.io.IOException
      Specified by:
      getLeafCollector in interface org.apache.lucene.search.Collector
      Specified by:
      getLeafCollector in class BucketCollector
      Throws:
      java.io.IOException
    • createTopDocsCollector

      protected org.apache.lucene.search.TopDocsCollector<? extends org.apache.lucene.search.ScoreDoc> createTopDocsCollector​(int size) throws java.io.IOException
      Throws:
      java.io.IOException
    • getPriorityQueueSlotSize

      protected long getPriorityQueueSlotSize()
    • preCollection

      public void preCollection() throws java.io.IOException
      Description copied from class: BucketCollector
      Pre collection callback.
      Specified by:
      preCollection in class BucketCollector
      Throws:
      java.io.IOException
    • postCollection

      public void postCollection() throws java.io.IOException
      Description copied from class: BucketCollector
      Post-collection callback.
      Specified by:
      postCollection in class BucketCollector
      Throws:
      java.io.IOException
    • prepareSelectedBuckets

      public void prepareSelectedBuckets​(long... selectedBuckets) throws java.io.IOException
      Description copied from class: DeferringBucketCollector
      Replay the deferred hits on the selected buckets.
      Specified by:
      prepareSelectedBuckets in class DeferringBucketCollector
      Throws:
      java.io.IOException
    • getDocCount

      public int getDocCount​(long parentBucket)
    • close

      public void close() throws ElasticsearchException
      Specified by:
      close in interface java.lang.AutoCloseable
      Specified by:
      close in interface java.io.Closeable
      Specified by:
      close in interface Releasable
      Throws:
      ElasticsearchException