### Description

Follow-up of #98360: when there is a single filter, the collector could save the overhead of the priority queue (both in `collect()` and `competitiveIterator()`), which would likely result in a speedup.
server/src/main/java/org/elasticsearch/search/aggregations/bucket/filter/FiltersAggregator.java
private final int totalNumKeys;
        Compatible(
            String name,
            AggregatorFactories factories,
            List<QueryToFilterAdapter> filters,
            boolean keyed,
            boolean keyedBucket,
            String otherBucketKey,
            AggregationContext context,
            Aggregator parent,
            CardinalityUpperBound cardinality,
            Map<String, Object> metadata
        ) throws IOException {
            super(name, factories, filters, keyed, keyedBucket, otherBucketKey, context, parent, cardinality, metadata);
            if (otherBucketKey == null) {
                this.totalNumKeys = filters.size();
            } else {
                this.totalNumKeys = filters.size() + 1;
            }
        }
        @Override