Ich versuche, meinen Kopf herumzulegen, wie ES funktioniert, aber scheinen nicht erfolgreich zu sein. Ich möchte, dass JSON-Dateien gelesen werden und jedem Eintrag eine neue Eigenschaft hinzugefügt wird, indem ein Wert aus den vorhandenen berechnet wird. Was wäre die Syntax dafür? Ich kann nicht scheinen, die Informationen aus der Dokumentation zusammen zu bringen, um es zum Laufen zu bringen. Vielen Dank!Elasticsearch - Holen Sie sich eine neue Eigenschaft mit Berechnung in großen Mengen
Ich versuche unter /mystuff
so etwas wie
POST /mystuff/1/_update
{
"doc": {
"recency": (DateTime.now().getMillis() - doc['maxdate'].value)/(24*60*60*1000)
}
}
allen docs zu tun. (Diese obviusly funktioniert nicht.)
[EDIT] Beispieleingabe:
PUT /mystuff/1
{
...
"maxdate": "2016-06-14",
...
}
ES Version: 2.3.4
Schön! wusste nicht, dass so etwas existiert: D –
@VishalRao ist eine neue experimentelle API, aber funktioniert gut für mich, andere Weise wäre es, komplette Dokumente eins nach dem anderen zu aktualisieren. –
Danke! Aus irgendeinem Grund bekomme ich dafür 'missing_method_error':' "Keine Signatur der Methode: java.lang.Long.minus() gilt für Argumenttypen: (java.lang.String) Werte: [2014-07-16] \ nMögliche Lösungen: minus (java.lang.Character), minus (java.lang.Number), plus (java.lang.String), find(), min (lang, lang), signum (lang) "'. Irgendeine Idee, wie man es löst? –