Множественные средние агрегации в Java API - PullRequest
0 голосов
/ 07 февраля 2019

Есть ли Java-код, эквивалентный этой подгруппе.Мне нужен код Java для создания объекта субагрегации.

{
  "query": {
    "SOME BOOL QUERIES HERE"
  },
 "aggs" : {
        "trs_timestamp" : {
            "date_histogram" : {
                "field" : "trs_timestamp",
                "interval" : "day"
            },
        "aggs" : {
                "AvgTT" : { "avg" : { "field" : "action_time" }},
                "AvgST" : { "avg" : { "field" : "st" }},
                "AvgCALC" : { "avg" : { "field" : "ncalc" }},
                "AvgRC" : { "avg" : { "field" : "rc" }},
                "AvgFR" : { "avg" : { "field" : "st" }}
            }
        }
    } 
}


Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Вы можете использовать Elasticsearch Java API и AggregationBuilders для этого, например:

SearchResponse response = client.prepareSearch()
        .addAggregation(AggregationBuilders.avg("AvgTT").field("action_time"))
        .addAggregation(AggregationBuilders.avg("AvgST").field("st"))
        .addAggregation(AggregationBuilders.avg("AvgCALC").field("ncalc"))
        .addAggregation(AggregationBuilders.avg("AvgRC").field("rc"))
        .addAggregation(AggregationBuilders.avg("AvgFR").field("st"))
        .execute()
        .actionGet();
0 голосов
/ 07 февраля 2019

Например:

SearchResponse sr = node.client().prepareSearch()
        .setQuery( /* your query */ )
        .addAggregation( /* add an aggregation */ )
        .execute().actionGet();

Вы можете видеть, что addAggregation не set, что означает, что вы можете добавить несколько запросов в запрос.https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-aggs.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...