Elasticsearch 6.1.1 Java Api,缺少子聚合

时间:2018-02-05 17:41:33

标签: elasticsearch elasticsearch-java-api elasticsearch-6

从ES 2.X升级到ES 6.1.1需要很长时间的升级。我已将父/子映射更改为连接类型,因此它对6.X有效。但是我们需要使用子聚合。

文档说它可用:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/_bucket_aggregations.html#java-aggs-bucket-children

但是,如果你查看java文档,它就不可用:https://artifacts.elastic.co/javadoc/org/elasticsearch/elasticsearch/6.1.1/org/elasticsearch/search/aggregations/AggregationBuilders.html

由于Java API不可用,为Elasticsearch 6.X构建子聚合的正确方法是什么?是不是使用java传输客户端创建和发送请求的唯一方法吗?

1 个答案:

答案 0 :(得分:3)

我通过搜索测试找到了答案。加入类型聚合现在有自己的构建器。

import org.elasticsearch.join.aggregations.{ChildrenAggregationBuilder, JoinAggregationBuilders}

Elasticsearch文档显然已过时,JoinAggregationBuilders不在javadoc中。 https://github.com/elastic/elasticsearch/blob/bd92e7fa5e5fdc625249707ecf371781b157d668/modules/parent-join/src/test/java/org/elasticsearch/join/aggregations/ChildrenIT.java#L48