- .NET Clients: other versions:
- Introduction
- Building
- Breaking Changes
- Elasticsearch.Net
- NEST
- Core
- Indices
- Cluster
- Search
- Aggregations
- Handling Aggregations
- Avg aggregation
- Cardinality aggregation
- Date Histogram aggregation
- Date Range aggregation
- Extended Stats Aggregation
- Filter aggregation
- Geo Distance aggregation
- Geohash Grid aggregation
- Global aggregation
- Histogram aggregation
- IPv4 Range aggregation
- Max aggregation
- Min aggregation
- Missing aggregation
- Percentiles aggregation
- Percentile Ranks aggregation
- Range aggregation
- Nested aggregation
- Reverse Nested aggregation
- Significant Terms aggregation
- Stats aggregation
- Sum aggregation
- Terms aggregation
- Top Hits aggregation
- Value Count aggregation
WARNING: Version 5.x has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Filter aggregation
edit
IMPORTANT: This documentation is no longer updated. Refer to Elastic's version policy and the latest documentation.
Filter aggregation
editDefines a single bucket of all the documents in the current document set context that match a specified filter.
Fluent DSL
editvar result = client.Search<ElasticsearchProject>(s => s .Aggregations(a => a .Filter("my_filter_agg", f => f .Filter(fd => fd .Range(r => r .Greater(12000) .OnField(p => p.LOC) ) ) .Aggregations(agg => agg .Average("my_avg_agg", avg => avg .Field(p => p.LOC) ) ) ) ) ); var filterAgg = result.Aggs.Filter("my_filter_agg"); var avgAgg = filterAgg.Average("my_avg_agg");
Object Initializer Syntax
editvar request = new SearchRequest { Aggregations = new Dictionary<string, IAggregationContainer> { { "my_filter_agg", new AggregationContainer { Filter = new FilterAggregator { Filter = new FilterContainer(new RangeFilter { Field = "loc", GreaterThan = "12000" }) }, Aggregations = new Dictionary<string, IAggregationContainer> { { "my_avg_agg", new AggregationContainer { Average = new AverageAggregator { Field = "loc" } } } } } } } }; var result = client.Search<ElasticsearchProject>(request); var filterAgg = result.Aggs.Filter("my_filter_agg"); var avgAgg = filterAgg.Average("my_avg_agg");
Refer to the {ref_current}/search-aggregations-bucket-filter-aggregation.html[original docs] for more information.
On this page
Was this helpful?
Thank you for your feedback.