### 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
public DocIdSetIterator competitiveIterator() throws IOException {
                    if (useCompetitiveIterator) {
                        
                        return new DisjunctionDISIApproximation(filterIterators);
                    } else {
                        return null;
                    }
                }
            };
        }
        final long bucketOrd(long owningBucketOrdinal, int filterOrd) {
            return owningBucketOrdinal * totalNumKeys + filterOrd;
        }
        private static class FilterMatchingDisiWrapper extends DisiWrapper {
            final int filterOrd;
            
            int lastMatchingDoc = -1;
            
            int lastCheckedDoc = -1;
            FilterMatchingDisiWrapper(Scorer scorer, int ord) {
                super(scorer);
                this.filterOrd = ord;
            }
        }
    }
    /**
     * Counts collected documents, delegating to {@link DocCountProvider} for
     * how many documents each search hit is "worth".
     */
    static class Counter implements LeafCollector {