如何使用注释通过spring-data-elasticsearch进行@Query(value =“{”query“:”“}”)的混合?
答案 0 :(得分:1)
您不能使用@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);