我想使用以下内容聚合查询结果:
"aggs": {
"agg1": {
"terms": {
"field": "basket_id_1",
"size":0
},
"aggs": {
"basket_id_2": {
"terms": {
"field": "basket_id_2",
"size":0
},
"aggs": {
"basket_id_3": {
"terms": {
"field": "basket_id_3",
"size":0
}
}
}
}
}
}
}
我如何使用elasticsearch spring框架在java中做到这一点?我打电话给哪种方法?以及在哪个对象上?
这是我目前在java中的代码:
NativeSearchQueryBuilder searchQueryNative = new NativeSearchQueryBuilder()
.withIndices(this.getIndex()).withTypes(this.getType());
searchQueryNative.
SearchQuery searchQuery = searchQueryNative.build();
Page<Object> result = this.getElasticsearchTemplate().queryForPage(
searchQuery, Object.class).;
答案 0 :(得分:1)
当您使用时:
@Bean
public Client client() {
return nodeBuilder().settings(buildNodeSettings()).node().client();
}
你可以利用:
client().prepareSearch()
.setQuery( /* your query */ )
.addAggregation( /* add an aggregation */ )
.execute().actionGet();
请参阅http://www.elasticsearch.org/guide/en/elasticsearch/client/java-api/current/java-aggs.html