Class MultiBucketCollector
java.lang.Object
org.elasticsearch.search.aggregations.BucketCollector
org.elasticsearch.search.aggregations.MultiBucketCollector
- All Implemented Interfaces:
org.apache.lucene.search.Collector
A
BucketCollector which allows running a bucket collection with several
BucketCollectors. It is similar to the MultiCollector except that the
wrap(boolean, java.lang.Iterable<? extends org.elasticsearch.search.aggregations.BucketCollector>) method filters out the BucketCollector.NO_OP_COLLECTORs and not
the null ones.-
Field Summary
Fields inherited from class org.elasticsearch.search.aggregations.BucketCollector
NO_OP_COLLECTOR -
Method Summary
Modifier and TypeMethodDescriptiongetLeafCollector(org.apache.lucene.index.LeafReaderContext context)voidPost-collection callback.voidPre collection callback.org.apache.lucene.search.ScoreModetoString()static BucketCollectorwrap(boolean terminateIfNoop, Iterable<? extends BucketCollector> collectors)Wraps a list ofBucketCollectors with aMultiBucketCollector.
-
Method Details
-
wrap
public static BucketCollector wrap(boolean terminateIfNoop, Iterable<? extends BucketCollector> collectors)Wraps a list ofBucketCollectors with aMultiBucketCollector. This method works as follows:- Filters out the
BucketCollector.NO_OP_COLLECTORs collectors, so they are not used during search time. - If the input contains 1 real collector we wrap it in a collector that takes
terminateIfNoopinto account. - Otherwise the method returns a
MultiBucketCollectorwhich wraps the non-BucketCollector.NO_OP_COLLECTORcollectors.
- Parameters:
terminateIfNoop- Pass true ifgetLeafCollector(org.apache.lucene.index.LeafReaderContext)should throwCollectionTerminatedExceptionif all leaf collectors are noop. Pass false if terminating would break stuff. The top level collection for aggregations should pass true here because we want to skip collections if all aggregations return NOOP. But when aggregtors themselves call this method they chould *generally* pass false here because they have collection actions to perform even if their sub-aggregators are NOOPs.
- Filters out the
-
scoreMode
public org.apache.lucene.search.ScoreMode scoreMode() -
preCollection
Description copied from class:BucketCollectorPre collection callback.- Specified by:
preCollectionin classBucketCollector- Throws:
IOException
-
postCollection
Description copied from class:BucketCollectorPost-collection callback.- Specified by:
postCollectionin classBucketCollector- Throws:
IOException
-
toString
-
getLeafCollector
public LeafBucketCollector getLeafCollector(org.apache.lucene.index.LeafReaderContext context) throws IOException- Specified by:
getLeafCollectorin interfaceorg.apache.lucene.search.Collector- Specified by:
getLeafCollectorin classBucketCollector- Throws:
IOException
-