Class ParentJoinAggregator
java.lang.Object
org.elasticsearch.search.aggregations.BucketCollector
org.elasticsearch.search.aggregations.Aggregator
org.elasticsearch.search.aggregations.AggregatorBase
org.elasticsearch.search.aggregations.bucket.BucketsAggregator
org.elasticsearch.join.aggregations.ParentJoinAggregator
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,org.apache.lucene.search.Collector
,Releasable
,SingleBucketAggregator
- Direct Known Subclasses:
ChildrenToParentAggregator
,ParentToChildrenAggregator
public abstract class ParentJoinAggregator extends BucketsAggregator implements SingleBucketAggregator
An aggregator that joins documents based on global ordinals.
Global ordinals that match the main query and the
inFilter
query are replayed
with documents matching the outFilter
query.-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interface
ParentJoinAggregator.CollectionStrategy
Strategy for collecting the global ordinals of the join field in for all docs that match theParentJoinAggregator#inFilter
and then checking if which of the docs in theParentJoinAggregator#outFilter
also have the ordinal.protected class
ParentJoinAggregator.DenseCollectionStrategy
Uses a dense, bit per ordinal representation of the join field in the docs that matchParentJoinAggregator#inFilter
.protected class
ParentJoinAggregator.SparseCollectionStrategy
Uses a hashed representation of whether of the join field in the docs that matchParentJoinAggregator#inFilter
.Nested classes/interfaces inherited from class org.elasticsearch.search.aggregations.bucket.BucketsAggregator
BucketsAggregator.BucketBuilderForFixedCount<B extends java.lang.Object>, BucketsAggregator.BucketBuilderForVariable<B extends java.lang.Object>, BucketsAggregator.ResultBuilderForVariable<B extends java.lang.Object>, BucketsAggregator.SingleBucketResultBuilder
Nested classes/interfaces inherited from class org.elasticsearch.search.aggregations.Aggregator
Aggregator.BucketComparator, Aggregator.Parser, Aggregator.SubAggCollectionMode
-
Field Summary
Fields inherited from class org.elasticsearch.search.aggregations.AggregatorBase
collectableSubAggregators, context, DEFAULT_WEIGHT, name, parent, subAggregators
-
Constructor Summary
Constructors Constructor Description ParentJoinAggregator(java.lang.String name, AggregatorFactories factories, SearchContext context, Aggregator parent, org.apache.lucene.search.Query inFilter, org.apache.lucene.search.Query outFilter, ValuesSource.Bytes.WithOrdinals valuesSource, long maxOrd, CardinalityUpperBound cardinality, java.util.Map<java.lang.String,java.lang.Object> metadata)
-
Method Summary
Modifier and Type Method Description protected void
beforeBuildingBuckets(long[] ordsToCollect)
protected void
doClose()
LeafBucketCollector
getLeafCollector(LeafReaderContext ctx, LeafBucketCollector sub)
Methods inherited from class org.elasticsearch.search.aggregations.bucket.BucketsAggregator
bucketComparator, bucketDocCount, buildAggregationsForFixedBucketCount, buildAggregationsForSingleBucket, buildAggregationsForVariableBuckets, buildSubAggsForAllBuckets, buildSubAggsForBuckets, buildSubAggsForBuckets, close, collectBucket, collectExistingBucket, descendsFromGlobalAggregator, getDocCounts, grow, incrementBucketDocCount, maxBucketOrd, mergeBuckets, resolveSortPath
Methods inherited from class org.elasticsearch.search.aggregations.AggregatorBase
addRequestCircuitBreakerBytes, buildEmptySubAggregations, context, doPostCollection, doPreCollection, getLeafCollector, metadata, name, parent, pointReaderIfAvailable, postCollection, preCollection, preGetSubLeafCollectors, scoreMode, subAggregator, subAggregators, toString
Methods inherited from class org.elasticsearch.search.aggregations.Aggregator
buildAggregations, buildEmptyAggregation, buildTopLevel, collectDebugInfo, resolveSortPathOnValidAgg
-
Constructor Details
-
ParentJoinAggregator
public ParentJoinAggregator(java.lang.String name, AggregatorFactories factories, SearchContext context, Aggregator parent, org.apache.lucene.search.Query inFilter, org.apache.lucene.search.Query outFilter, ValuesSource.Bytes.WithOrdinals valuesSource, long maxOrd, CardinalityUpperBound cardinality, java.util.Map<java.lang.String,java.lang.Object> metadata) throws java.io.IOException- Throws:
java.io.IOException
-
-
Method Details
-
getLeafCollector
public final LeafBucketCollector getLeafCollector(LeafReaderContext ctx, LeafBucketCollector sub) throws java.io.IOException- Specified by:
getLeafCollector
in classAggregatorBase
- Throws:
java.io.IOException
-
beforeBuildingBuckets
protected void beforeBuildingBuckets(long[] ordsToCollect) throws java.io.IOException- Overrides:
beforeBuildingBuckets
in classBucketsAggregator
- Throws:
java.io.IOException
-
doClose
protected void doClose()- Overrides:
doClose
in classAggregatorBase
-