2017-08-30 2 views
0

Ich versuche, ein String-Längenfeld zu einem Index hinzuzufügen. Idealerweise würde ich gerne die Kibana-Skriptfunktion verwenden, da ich dieses Feld später "hinzufügen" kann, aber ich bekomme immer eine null_pointer_exception mit dem folgenden Code ... Ich versuche, in einer Visualisierung basierend auf den Feldern Länge zu sortieren.Add Feld/Zeichenfolge Länge Logstash Ereignis

doc['field'].value ? doc['field'].length() : 0 

Ist das korrekt?

Ich dachte, es war, weil mein Feld (spärliche Daten) nicht immer gesetzt ist, aber ich hinzugefügt, um die ?:0, dass zur Bekämpfung der Irgendwelche Ideen

(was nicht funktioniert hat)?

+0

Leider verstehe ich nicht. Wo hast du diesen Code abgelegt? – whites11

+0

https://www.elastic.co/guide/en/kibana/current/scripted-fields.html – geekscrap

Antwort

1

Sie können ein Skript Feld in Kibana, vom Typ int, Sprache schmerzlos, und versuchen, diese definieren:

return (doc['field'].value != null? doc['field'].value.length(): 0); 
+0

Vielen Dank! Wo finden Sie eine Referenz für welche Eigenschaften (Wert, Länge) das Objekt doc unterstützt? – geekscrap

+0

Ich würde schmerzlose Dokumente empfehlen: https://www.elastic.co/guide/en/elasticsearch/painless/master/index.html, https://www.elastic.co/guide/en/elasticsearch/reference/ master/modules-scripting-painless.html. Syntax ist groovy Stil: http://groovy-lang.org – Imma

Verwandte Themen