### 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
assertThat(filters.getBuckets(), hasSize(2));
                assertThat(filters.getBucketByKey("q0").getDocCount(), equalTo(25L));
                assertThat(filters.getBucketByKey("q1").getDocCount(), equalTo(30L));
                assertThat(impl, equalTo(FiltersAggregator.Compatible.class));
                assertMap(
                    debug,
                    matchesMap().entry(
                        "test",
                        matchesMap().entry(
                            "filters",
                            matchesList().item(matchesMap().entry("segments_counted_in_constant_time", 0).entry("query", "a:0"))
                                .item(matchesMap().entry("segments_counted_in_constant_time", 0).entry("query", "a:1"))
                        )
                    )
                );
            },
            new KeywordFieldType("a")
        );
    }
    /**
     * This runs {@code filters} with a single {@code match_all} filter with
     * the index set up kind of like document level security. As a bonus, this
     * "looks" to the agg just like an index with deleted documents.
     * <p>
     * We actually <strong>do</strong> get to use the constant time counting
     * here because {@code match_all} knows how to run constant time counts
     * on filtered indices - that what {@link IndexReader#numDocs()} does.
     */
    public void testMatchAllOnFilteredIndex() throws IOException {
        AggregationBuilder builder = new FiltersAggregationBuilder("test", new KeyedFilter("q1", new MatchAllQueryBuilder()));