elasticsearch-net
elasticsearch-net copied to clipboard
FiltersAggregationDescriptor doesn't support descriptors to specify filters
Elastic.Clients.Elasticsearch version: 8.1.1
Elasticsearch version: 8.8.0
.NET runtime version: .NET 7
Operating system version: Windows 11
Description of the problem including expected versus actual behavior:
There is no overload of FiltersAggregationDescriptor<>.Filters()
that supports descriptors.
I see this as a bug, because the entire codebase is successfully using descriptors from the point of connecting to the server to the point of getting a response, the entire flow is working with QueryDescriptor<>
, but this class doesn't provide any way to utilize descriptors as filters.
My parameters are all coming in as descriptors and there is no way to provide them to the Filters
method, as it only accepts Buckets<Query>
.
Previously, using NEST, there was a Filter
, instead of Filters
method, which was utilized like this:
filterAggregation.Filter(f => firstQuery & secondQuery)
. Since there is no way of combining queries like this, as far as I'm aware, it should be able to work with multiple descriptors, ultimately achieving the same goal.
Steps to reproduce:
- Create new
SearchRequestDescriptor<T>()
- Use the
Aggregations
method, which exposes anAggregationDescriptor<>
- Use
Filters
method, which exposesFiltersAggregationDescriptor<>
- There is no way to pass descriptors to
FiltersAggregationDescriptor<>.Filters()
method
Expected behavior
The class FiltersAggregationDescriptor
should have an overload for the Filters
method, which either accepts params Action<QueryDescriptor<TDocument>>[] configure
or any kind of collection of descriptors, Buckets
will also work as long as it accepts QueryDescriptor
.
Are there some intentions of fixing this soon? Really needing it :/