ElasticSearch Java API 客户端 7.16 结构化聚合

分享于2022年07月17日 elasticsearch java 问答
【问题标题】:ElasticSearch Java API Client 7.16 Structuring AggregationElasticSearch Java API 客户端 7.16 结构化聚合
【发布时间】:2022-06-30 15:54:35
【问题描述】:
{
  "aggs": {
    "my-agg-name": {
      "terms": {
        "field": "my-field"
      },
      "aggs": {
        "my-sub-agg-name": {
          "avg": {
            "field": "my-other-field"
          }
        }
      }
    }
  }
}

我想使用新的 elasticsearch java api 客户端在 java 中执行上述弹性搜索查询。我正在使用弹性搜索版本 7.16 。有人可以帮助我使用新的 elasticsearch java api 客户端构建相同的查询。


【解决方案1】:

对不起,我迟到了!但是,如果您还没有找到解决方案,您可以尝试以下方法:

SearchResponse response = client.search(b -> b
                .index("your_index")                 
                .aggregations("first_agg",a->a.terms(t->t.field("my_field"))
                 .aggregations("sub_agg", s->s.avg(av->av.field("other_field")))),
                YourClass.class);

【讨论】: