使用AggregationBuilders构建聚合条件
SearchQuery queryBuilder = new NativeSearchQueryBuilder().addAggregation(AggregationBuilders.terms("xxx_NAME").field("appName.keyword").size(100000)).build();
StringTerms aggregation = elasticsearchTemplate.query(queryBuilder, response -> {
StringTerms stringTerms = (StringTerms) response.getAggregations().asMap().get("xxx_NAME");
return stringTerms;
});
List<StringTerms.Bucket> buckets = aggregation.getBuckets();
List<String> resultSet = new ArrayList<>();
for (StringTerms.Bucket backet : buckets) {
resultSet.add(backet.getKey().toString());
}