Skip to content

FiltersAggregationDescriptor doesn't support descriptors to specify filters #7812

Closed
@JuganD

Description

@JuganD

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:

  1. Create new SearchRequestDescriptor<T>()
  2. Use the Aggregations method, which exposes an AggregationDescriptor<>
  3. Use Filters method, which exposes FiltersAggregationDescriptor<>
  4. 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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions