gpt4 book ai didi

elasticsearch - 在Elasticsearch无痛中排序

转载 作者:行者123 更新时间:2023-12-02 22:23:07 25 4
gpt4 key购买 nike

我在groovy脚本中有以下几行内容,试图将其重写为无痛苦的-

def buckets = ctx.payload.aggregations.metrics.buckets.sort(a,b -> a.largest_surprise.value == b.largest_surprise.value ? 0 : a.largest_surprise.value < b.largest_surprise.value ? -1 : 1);

我得到的编译错误是“ undefined variable [a]”。

看起来无痛支持Java中的Collections.sort方法,所以我尝试了-
Collections.sort(ctx.payload.aggregations.metrics.buckets, a,b -> a.largest_surprise.value == b.largest_surprise.value ? 0 : a.largest_surprise.value < b.largest_surprise.value ? -1 : 1);

但这也有一个编译错误-“未知类型[Collections]上带有[3]个参数的[sort]调用”。

可以用lambda轻松排序吗?如果是这样,那么语法是什么?另外,还有什么比 https://www.elastic.co/guide/en/elasticsearch/painless/master/painless-api-reference.html更好的无痛引用?

谢谢,
缺口

最佳答案

在无痛https://www.elastic.co/guide/en/elasticsearch/reference/5.4/modules-scripting-painless-syntax.html#painless-lambda-expressions中找到描述lambda的页面。

我想我没有将“a,b”周围的括号括起来,因为

def buckets = ctx.payload.aggregations.metrics.buckets.sort((a,b) -> a.largest_surprise.value == b.largest_surprise.value ? 0 : a.largest_surprise.value < b.largest_surprise.value ? -1 : 1);

编译。

关于elasticsearch - 在Elasticsearch无痛中排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44188451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com