多聚集平均elasticsearch在Java API中

问题描述 投票:0回答:2

是否有相当于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" }}
            }
        }
    } 
}


java elasticsearch
2个回答
2
投票

您可以使用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
投票

举例:

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

你可以看到,有addAggregationset这意味着你可以添加多个聚合到查询。 https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-aggs.html

© www.soinside.com 2019 - 2024. All rights reserved.