Reputation: 171
I would like to aggregate the result of my query using the following :
"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
}
}
}
}
}
}
}
How do I do that in java, using elasticsearch spring framework ? Which method do I call ? and on which object ?
here is my code in java so far :
NativeSearchQueryBuilder searchQueryNative = new NativeSearchQueryBuilder()
.withIndices(this.getIndex()).withTypes(this.getType());
searchQueryNative.
SearchQuery searchQuery = searchQueryNative.build();
Page<Object> result = this.getElasticsearchTemplate().queryForPage(
searchQuery, Object.class).;
Upvotes: 0
Views: 1493
Reputation: 1479
When you work with:
@Bean
public Client client() {
return nodeBuilder().settings(buildNodeSettings()).node().client();
}
you could make use of:
client().prepareSearch()
.setQuery( /* your query */ )
.addAggregation( /* add an aggregation */ )
.execute().actionGet();
see http://www.elasticsearch.org/guide/en/elasticsearch/client/java-api/current/java-aggs.html
Upvotes: 1