-
Notifications
You must be signed in to change notification settings - Fork 25.5k
Closed
Labels
:Analytics/AggregationsAggregationsAggregations>enhancementTeam:AnalyticsMeta label for analytical engine team (ESQL/Aggs/Geo)Meta label for analytical engine team (ESQL/Aggs/Geo)
Description
Description
We have had this longstanding issue that running a top-level filter
aggregation is often (not always, e.g. not if you need the total hit count too) a performance bug, as Elasticsearch would iterate over docs that match the query
and would then check each of these docs against the filter of the filter
aggregation. It's usually a better idea to put the filter directly into the query, where it can be used to drive iteration if appropriate.
We could do this automatically by implementing the LeafCollector#competitiveIterator
API that was introduced for dynamic pruning, in order to automatically start intersecting the query with the filter of the filter
aggregator once enough hits have been counted.
Metadata
Metadata
Assignees
Labels
:Analytics/AggregationsAggregationsAggregations>enhancementTeam:AnalyticsMeta label for analytical engine team (ESQL/Aggs/Geo)Meta label for analytical engine team (ESQL/Aggs/Geo)