Class GlobalOrdinalsStringTermsAggregator
- All Implemented Interfaces:
Closeable,AutoCloseable,org.apache.lucene.search.Collector,org.elasticsearch.core.Releasable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceNested classes/interfaces inherited from class org.elasticsearch.search.aggregations.bucket.terms.TermsAggregator
TermsAggregator.BucketCountThresholdsNested classes/interfaces inherited from class org.elasticsearch.search.aggregations.bucket.BucketsAggregator
BucketsAggregator.BucketBuilderForFixedCount<B>, BucketsAggregator.BucketBuilderForVariable<B>, BucketsAggregator.ResultBuilderForVariable<B>, BucketsAggregator.SingleBucketResultBuilderNested classes/interfaces inherited from class org.elasticsearch.search.aggregations.Aggregator
Aggregator.BucketComparator, Aggregator.Parser, Aggregator.SubAggCollectionMode -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.elasticsearch.search.aggregations.bucket.terms.GlobalOrdinalsStringTermsAggregator.CollectionStrategyprotected org.elasticsearch.search.aggregations.bucket.terms.GlobalOrdinalsStringTermsAggregator.ResultStrategy<?,?,?>protected intprotected intprotected booleanprotected ValuesSource.Bytes.WithOrdinalsFields inherited from class org.elasticsearch.search.aggregations.bucket.terms.TermsAggregator
aggsUsedForSorting, bucketCountThresholds, collectMode, format, order, partiallyBuiltBucketComparatorFields inherited from class org.elasticsearch.search.aggregations.bucket.BucketsAggregator
docCountProviderFields inherited from class org.elasticsearch.search.aggregations.AggregatorBase
collectableSubAggregators, DEFAULT_WEIGHT, name, parent, subAggregatorsFields inherited from class org.elasticsearch.search.aggregations.BucketCollector
NO_OP_COLLECTOR -
Constructor Summary
ConstructorsConstructorDescriptionGlobalOrdinalsStringTermsAggregator(String name, AggregatorFactories factories, Function<GlobalOrdinalsStringTermsAggregator,org.elasticsearch.search.aggregations.bucket.terms.GlobalOrdinalsStringTermsAggregator.ResultStrategy<?,?,?>> resultStrategy, ValuesSource.Bytes.WithOrdinals valuesSource, org.apache.lucene.index.SortedSetDocValues values, BucketOrder order, DocValueFormat format, TermsAggregator.BucketCountThresholds bucketCountThresholds, LongPredicate acceptedOrds, AggregationContext context, Aggregator parent, boolean remapGlobalOrds, Aggregator.SubAggCollectionMode collectionMode, boolean showTermDocCountError, CardinalityUpperBound cardinality, Map<String,Object> metadata) -
Method Summary
Modifier and TypeMethodDescriptionbuildAggregations(long[] owningBucketOrds)Build the results of this aggregation.Build an empty aggregation.protected SignificantStringTermsbuildEmptySignificantTermsAggregation(long subsetSize, SignificanceHeuristic significanceHeuristic)protected StringTermsvoidCollect debug information to add to the profiling results.protected voiddoClose()Release instance-specific data.getLeafCollector(org.apache.lucene.index.LeafReaderContext ctx, LeafBucketCollector sub)Collect results for this leaf.Methods inherited from class org.elasticsearch.search.aggregations.bucket.terms.TermsAggregator
aggsUsedForSorting, descendsFromNestedAggregator, shouldDeferMethods inherited from class org.elasticsearch.search.aggregations.bucket.DeferableBucketAggregator
buildDeferringCollector, deferringCollector, doPreCollection, prepareSubAggsMethods 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, preGetSubLeafCollectors, resolveSortPath, rewriteBucketsMethods inherited from class org.elasticsearch.search.aggregations.AggregatorBase
addRequestCircuitBreakerBytes, bigArrays, buildEmptySubAggregations, doPostCollection, getLeafCollector, metadata, name, parent, pointReaderIfAvailable, postCollection, preCollection, scoreMode, searcher, subAggregator, subAggregators, topLevelQuery, toStringMethods inherited from class org.elasticsearch.search.aggregations.Aggregator
buildTopLevel, resolveSortPathOnValidAgg
-
Field Details
-
resultStrategy
protected final org.elasticsearch.search.aggregations.bucket.terms.GlobalOrdinalsStringTermsAggregator.ResultStrategy<?,?,?> resultStrategy -
valuesSource
-
collectionStrategy
protected final org.elasticsearch.search.aggregations.bucket.terms.GlobalOrdinalsStringTermsAggregator.CollectionStrategy collectionStrategy -
segmentsWithSingleValuedOrds
protected int segmentsWithSingleValuedOrds -
segmentsWithMultiValuedOrds
protected int segmentsWithMultiValuedOrds -
showTermDocCountError
protected final boolean showTermDocCountError
-
-
Constructor Details
-
GlobalOrdinalsStringTermsAggregator
public GlobalOrdinalsStringTermsAggregator(String name, AggregatorFactories factories, Function<GlobalOrdinalsStringTermsAggregator,org.elasticsearch.search.aggregations.bucket.terms.GlobalOrdinalsStringTermsAggregator.ResultStrategy<?,?,?>> resultStrategy, ValuesSource.Bytes.WithOrdinals valuesSource, org.apache.lucene.index.SortedSetDocValues values, BucketOrder order, DocValueFormat format, TermsAggregator.BucketCountThresholds bucketCountThresholds, LongPredicate acceptedOrds, AggregationContext context, Aggregator parent, boolean remapGlobalOrds, Aggregator.SubAggCollectionMode collectionMode, boolean showTermDocCountError, CardinalityUpperBound cardinality, Map<String,Object> metadata) throws IOException- Throws:
IOException
-
-
Method Details
-
getLeafCollector
public LeafBucketCollector getLeafCollector(org.apache.lucene.index.LeafReaderContext ctx, LeafBucketCollector sub) throws IOExceptionDescription copied from class:AggregatorBaseCollect results for this leaf.Most Aggregators will return a custom
LeafBucketCollectorthat collects document information for every hit. Callers of this method will make sure to callcollectfor every hit. So anyAggregatorthat returns a customer LeafBucketCollector from this method runs at bestO(hits)time. See thesumAggregator for a fairly strait forward example of this.Some Aggregators are able to correctly collect results on their own, without being iterated by the top level query or the rest of the aggregations framework. These aggregations collect what they need by calling methods on
LeafReaderContextand then they returnLeafBucketCollector.NO_OP_COLLECTORto signal that they've done their own collection. These aggregations can do better thanO(hits). See theminAggregator for an example of an aggregation that does this. It happens to run in constant time in some cases.In other cases
MinAggregatorcan't get correct results by taking the constant time path so instead it returns a customLeafBucketCollector. This is fairly common for aggregations that have these fast paths because most of these fast paths are only possible when the aggregation is at the root of the tree.Its also useful to look at the
filtersAggregator chooses whether or not it can use the fast path before building the Aggregator rather than on each leaf. Either is fine.- Specified by:
getLeafCollectorin classAggregatorBase- Throws:
IOException
-
buildAggregations
Description copied from class:AggregatorBuild the results of this aggregation.- Specified by:
buildAggregationsin classAggregator- Parameters:
owningBucketOrds- the ordinals of the buckets that we want to collect from this aggregation- Returns:
- the results for each ordinal, in the same order as the array of ordinals
- Throws:
IOException
-
buildEmptyAggregation
Description copied from class:AggregatorBuild an empty aggregation.- Specified by:
buildEmptyAggregationin classAggregator
-
collectDebugInfo
Description copied from class:AggregatorCollect debug information to add to the profiling results. This will only be called if the aggregation is being profiled.Well behaved implementations will always call the superclass implementation just in case it has something interesting. They will also only add objects which can be serialized with
StreamOutput.writeGenericValue(Object)andXContentBuilder.value(Object). And they'll have an integration test.- Overrides:
collectDebugInfoin classDeferableBucketAggregator
-
doClose
protected void doClose()Description copied from class:AggregatorBaseRelease instance-specific data.- Overrides:
doClosein classAggregatorBase
-
buildEmptyTermsAggregation
-
buildEmptySignificantTermsAggregation
protected SignificantStringTerms buildEmptySignificantTermsAggregation(long subsetSize, SignificanceHeuristic significanceHeuristic)
-