Как создать запрос в elasticsearch, используя java api (SearchResponce) с аггрегацией?
Как создать запрос в elasticsearch, используя java api (SearchResponce) с аггрегацией? Например простой запрос в Elastic на порт 9200, будет такой:
{
"_source":"username",
"size":0,
"aggs":{
"users":{
"terms":{
"field":"username.keyword",
"order": {
"sum":"desc"
}
},
"aggs": {
"sum": {
"sum": {
"field":"fileSize"
}
}
}
},
"total": {
"cardinality": {
"field":"username.keyword"
}
}
}
}
Ответы (1 шт):
Автор решения: Mingiyan Dordzhiev
→ Ссылка
кажется так, получилось самому разобраться:
SearcheResponse searchResponse = client.prepareSearch(index)
.setQuery(QueryBuilders.matchAllQuery())
.addAggregation(AggregationBuilders.terms("users").field("username.keyword")
.subAggregation(AggregationBuilders.sum("sum").field("fileSize")))
.get();