您不能使用@Query
仅用于发送查询而不是聚合的注释的注释。
使用Spring Data Elasticsearch实现此目的的唯一方法是利用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);