"aggs": {
"2": {
"terms": {
"field": "dns.question.type",
"size": 1000,
"order": {
"_count": "desc"
}
Не понимаю как добавить агрегацию к запросу Java API elasticsearch. Необходимо посчитать количество документов по каждому типу значений dns.question.type и вернуть их. то есть два поля:первое dns.question.type, второе количество документов этого типа.Пытаюсь вначале с помощью функции terms определить количество уникальных значений "dns.question.type" ,необходимо еще получить второе поле которое подсчитывает количество записей каждого типа "dns.question.type" :
SearchResponse response = client.prepareSearch("packetbeat")
.setQuery(QueryBuilders.rangeQuery("@timestamp").gte("now-12d").lt("now-10d"))
.addAggregation(AggregationBuilders.terms("")
И как мне после изъять значения из response например в хэш мап.
Для первого результата
SearchHit[] hits = response.getHits().getHits();
Map<String, Object> result = hits[0].sourceAsMap();
Сам разобрался:
SearchResponse response = client.prepareSearch("packetbeat-2017.03.12") .setQuery(QueryBuilders.rangeQuery("@timestamp").gte("now-12d").lt("now-10d"))
.addAggregation(AggregationBuilders
.terms("type").field("dns.question.type").size(5))
.execute().actionGet();
Map<String, Object> res=new HashMap<String, Object>();
Terms dns_question_types=response.getAggregations().get("type");
for (Terms.Bucket entry : dns_question_types.getBuckets()) {
res.put(entry.getKeyAsString(),entry.getDocCount());
}
Что позволяет finally изменять нормальный поток управления внутри метода? Какой задействован механизм?
Нужна помощь, есть программа написанная на Java, которая должна отправлять запрос на другой компьютер на котором есть sql server и получать ответТак...
Необходимо оптимизировать ниже приведенный кусок кодаВ данный момент есть несколько условий, при выполнении которых изменяется видимость...
Как можно запустить одновременно два потока (не дожидаясь завершения одного из них) на Java?