@Test
public void test() {
String year = "2019";
String start = year + "-01-01";
String end = year + "-12-31";
DateHistogramAggregationBuilder aggregation =
AggregationBuilders
.dateHistogram("agg")
.field("bookingTime")
.dateHistogramInterval(DateHistogramInterval.MONTH);
SearchQuery searchQuery = new NativeSearchQueryBuilder()
.withQuery(
QueryBuilders.boolQuery()
.must(QueryBuilders.matchQuery("productAir.ticketingStatus", "OPEN FOR USE"))
.must(QueryBuilders.matchQuery("productAir.paymentState", "FullyPaid"))
.must(QueryBuilders.rangeQuery("bookingTime").gte(start).lte(end))
).withIndices("modular_product").addAggregation(aggregation).build();
Aggregations aggregations = elasticsearchTemplate.query(searchQuery, response -> response.getAggregations());
Map<String, Aggregation> aggregationMap = aggregations.asMap();
}