用Java

时间:2017-08-31 09:39:15

标签: java elasticsearch spring-data-elasticsearch

我遵循ElasticSearch查询从ElasticSearch获取数据:

GET volumestatistics/_search
{
  "size": 0,
  "aggs": {
    "customer": {
      "terms": {
        "field": "cust_code",
        "size": 100
      },
      "aggs": {
        "day": {
          "date_histogram": {
            "field": "ts",
            "interval": "day",
            "format": "MM-dd-yyyy",
            "order": {
              "total_bytes": "desc"
            }
          },
          "aggs": {
            "total_bytes": {
              "sum": {
                "field": "events_size_in_bytes"
              }
            }
          }
        },
        "min_bytes_metrics": {
          "min_bucket": {
            "buckets_path": "day>total_bytes"
          }
        },
        "max_bytes_metrics": {
          "max_bucket": {
            "buckets_path": "day>total_bytes"
          }
        },
        "sum_bytes_metrics": {
          "sum_bucket": {
            "buckets_path": "day>total_bytes"
          }
        }
      }
    }
  }
}

这可以很好地从elasticsearch集群中获取数据。

我想用以下方法在java中构建上述查询:

private AggregationBuilder<?> buildAggregationQuery()
{
    AggregationBuilder<?> customerWiseAgg = AggregationBuilders.terms("customer").field("cust_code").size(100);
    return customerWiseAgg;
}

请帮助在java中构建完整的查询

0 个答案:

没有答案