Right now filter aggregations run in "compatible" mode if the top level query is `bool: {filter: { match_all: {}}}}` - but this really just just `match_all` in disguise. We should just run in filter-by-filter mode here.
server/src/test/java/org/elasticsearch/search/aggregations/bucket/filter/FiltersAggregatorTests.java
new SortedNumericDocValuesField("f", date),
                new SortedNumericDocValuesField("f", date + 10)
            );
        });
    }
    public void testDocValuesFieldExistsForDateWithoutData() throws IOException {
        docValuesFieldExistsNoDataTestCase(new DateFieldMapper.DateFieldType("f"));
    }
    public void testDocValuesFieldExistsForNumber() throws IOException {
        NumberFieldMapper.NumberType numberType = randomFrom(NumberFieldMapper.NumberType.values());
        NumberFieldMapper.NumberFieldType ft = new NumberFieldMapper.NumberFieldType(
            "f",
            numberType,
            true,
            false,
            true,
            true,
            null,
            Map.of(),
            null,
            false,
            null
        );
        docValuesFieldExistsTestCase(
            new ExistsQueryBuilder("f"),
            ft,
            true,
            i -> { return numberType.createFields("f", i, true, true, false); }
        );
    }