2016-05-23 5 views
2

Ich habe ein Dokument ElasticsearchWie man alle Zeichenketten innerhalb eines Feldes in einem elasticsearch Dokument mit einem groovy Skript umkehrt?

{ "_index": "testindex", "_type": "testtype", "_id": "doc1", "_version": 1, "found": true, "_source": { "array": [ "abc", "def", "ghi" ] } }

Wie kann ich alle Fäden innerhalb des Arrays in dem Dokument umgekehrt? Ich habe versucht, Update api mit dem folgende Skript

temp = []; for(String item : ctx._source.array) temp << item.reverse(); ctx._source.array = temp;

Update-api in java:

new org.elasticsearch.action.update.UpdateRequest(index, type, docId).script(script); 

ich eine Ausnahme wie Methodenaufruf bin nicht immer im Skript erlaubt.

Antwort

0

click too see the pic versuchen diese

temp=[]; 

ctx._source.array.each{ 

    it -> temp.add(it.reverse()) 
} 

ctx._source.array = temp 
+0

Die Ausnahme wegen der Verwendung von reverse() Funktion im groovy Skript ausgelöst. –

+0

ist es funktioniert Lösung Mann, lassen Sie mich den Screenshot –

+0

Ich stimme zu, dass es eine gültige groovy Skript ist. Aber als ich das gleiche Skript zusammen mit elasticsearch update api gab, bekam ich die oben erwähnte Ausnahme. –

Verwandte Themen