注:本文基于Elasticsearch 6.1.2编写
最近遇到这样一个需求,要通过Elasticsearch将Doc根据A字段降序,然后获得B字段的值,最终根据B字段的值再去做[Pipeline Aggregation][1]。
先尝试了[Max Aggregation][2],但是Max Aggregation只能获得A字段的最大值。
然后尝试了[Top Hits Aggregation][3],但是Top Hits Aggregation的结果无法被Pipeline Aggregation使用。
最终尝试[Scripted Metric Aggregation][4]成功。下面举例说明