如何在Spring Data Elasticsearch 5.x和新客户端中使用NativeQuery支持聚合查询,我已经附上了我们在4.x中使用的现有实现
protected <T> SearchHits searchHitsForAggregation(QueryBuilder queryBuilder,
AbstractAggregationBuilder<?> aggregationBuilders, Pageable pageable) {
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withSearchType(SearchType.DEFAULT)
.withQuery(queryBuilder).withAggregations(aggregationBuilders);
if (pageable == null) {
searchQueryBuilder.withMaxResults(0);
}
else {
searchQueryBuilder.withPageable(pageable);
}
NativeSearchQuery searchQuery = searchQueryBuilder.build();
return operations.search(searchQuery, indexClass(), indexCoordinates());
}
1条答案
按热度按时间0tdrvxhp1#
你只需要使用
NativeQueryBuilder
中相应的方法:https://docs.spring.io/spring-data/elasticsearch/docs/current/API/org/springframework/data/elasticsearch/client/elc/NativeQueryBuilder.html#withAggregation(java.lang.String,co.elastic.clients.elasticsearch._types.aggregations.Aggregation)