2017-05-25 2 views
0

ich die folgende Zeile in einem groovigen Skript hatte, dass ich in schmerzlos neu zu schreiben versucht bin -Sortierung in Elasticsearch Painless

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); 

Der Compiler-Fehler Ich erhalte ist „Variable [a] ist nicht definiert. "

Es ist wie schmerzlos sieht unterstützt die Collections.sort Methode in Java, so habe ich versucht -

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); 

Aber das hat auch einen Compiler-Fehler - „Unbekannter Aufruf [Art] mit [3] Argumente vom Typ [Sammlungen ]. "

Ist es möglich, mit einem Lambda in schmerzlos zu sortieren? Wenn ja, wie lautet die Syntax? Gibt es auch bessere Referenzen für schmerzlose als https://www.elastic.co/guide/en/elasticsearch/painless/master/painless-api-reference.html?

Danke, Nick

Antwort

Verwandte Themen