如何使用spring-data-elasticsearch使用批注进行@Query(value =“ {” query“:”“}”)的聚集?
您不能使用@Query仅用于发送查询而不是聚合的注释的注释。
@Query
使用Spring Data Elasticsearch实现此目的的唯一方法是利用NativeSearchQueryBuilder和ElasticsearchTemplate:
NativeSearchQueryBuilder
ElasticsearchTemplate
SearchQuery searchQuery = new NativeSearchQueryBuilder() .withQuery(QueryBuilders.matchAll()) .withSearchType(COUNT) .withIndices("your_index") .withTypes("your_type") .addAggregation(AggregationBuilders.terms("tags").field("tag")); elasticsearchTemplate.queryForPage(searchQuery, YourEntity.class);