### Description

It'd be lovely is a `filters` or `filter` agg that touches a `constant_keyword` would properly rewrite itself to `match_all` and `match_none` and "go fast", at least when it's at the root of the aggs tree. Theoretically it should "just work" but it doesn't seem to. Also! The `terms` agg should be able to act on there being only a single possible value. Maybe it can even act on the `match_all`/`match_none` nature of the `constant_keyword`. I'm not sure how, but it does feel like there are optimizations in there. Particularly when `terms` is the top level agg.
server/src/test/java/org/elasticsearch/search/aggregations/bucket/filter/FiltersAggregatorTests.java
);
            }
        );
    }
    /**
     * When there is more than one filter and the docs use the {@code _doc_count} field
     * we disable filter-by-filter mode because decoding the {@code _doc_count} is so
     * expensive.
     */
    public void testTwoTermsWithDocCount() throws IOException {
        AggregationBuilder builder = new FiltersAggregationBuilder(
            "test",
            new KeyedFilter("q0", new TermQueryBuilder("a", "0")),
            new KeyedFilter("q1", new TermQueryBuilder("a", "1"))
        );
        CheckedConsumer<RandomIndexWriter, IOException> buildIndex = iw -> {
            for (int i = 0; i < 10; i++) {
                iw.addDocument(
                    List.of(
                        new Field("a", new BytesRef(Integer.toString(i % 2)), KeywordFieldMapper.Defaults.FIELD_TYPE),
                        DocCountFieldMapper.field(i + 1)
                    )
                );
            }
        };
        debugTestCase(
            builder,
            new MatchAllDocsQuery(),
            buildIndex,
            (InternalFilters filters, Class<? extends Aggregator> impl, Map<String, Map<String, Object>> debug) -> {