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 aggregationedit
Defines a single bucket of all the documents in the current document set context that match a specified filter.
Fluent DSLedit
var 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 Syntaxedit
var 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.