Module org.elasticsearch.server
Class MultiBucketCollector
java.lang.Object
org.elasticsearch.search.aggregations.BucketCollector
org.elasticsearch.search.aggregations.MultiBucketCollector
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_BUCKET_COLLECTORs and not
the null ones.-
Field Summary
Fields inherited from class org.elasticsearch.search.aggregations.BucketCollector
NO_OP_BUCKET_COLLECTOR, NO_OP_COLLECTOR -
Method Summary
Modifier and TypeMethodDescriptionvoidPost-collection callback.voidPre collection callback.org.apache.lucene.search.ScoreModeIndicates what features are required from the scorer.toString()static BucketCollectorwrap(boolean terminateIfNoop, Iterable<? extends BucketCollector> collectors) Wraps a list ofBucketCollectors with aMultiBucketCollector.Methods inherited from class org.elasticsearch.search.aggregations.BucketCollector
asCollector
-
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_BUCKET_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_BUCKET_COLLECTORcollectors.
- Parameters:
terminateIfNoop- Pass true ifgetLeafCollector(org.elasticsearch.search.aggregations.AggregationExecutionContext)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()Description copied from class:BucketCollectorIndicates what features are required from the scorer.- Specified by:
scoreModein classBucketCollector
-
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
- Specified by:
getLeafCollectorin classBucketCollector- Throws:
IOException
-