Ich habe zwei Arten von Protokollen in ES (rtmp und Apache), Apache hat clientip.raw und rtmp hat ipclient.raw. Das Problem ist: Wie kann ich in meinem Kibana-Panel nur die Daten sehen, die diese Bedingung "ipclient" = "clientip" haben?Wie vergleicht man den Wert von zwei Feldern in Kibana
Ich habe versucht, diese Bar in meiner Suche zu schreiben, aber nicht funktioniert:
{
"query": {
"filtered": {
"filter": {
"script": {"script": "doc['clientip.raw'].value == doc['ipclient.raw'].value"}
}
}
}
}
Hallo! Zuerst danke für deine Antwort, aber es funktioniert nicht, der Fehler erscheint und in meiner elasticsearch.yml habe ich diese Konfiguration gesetzt: script.groovy.sandbox.enabled: true script.engine.groovy.file.search: true script.engine.groovy.inline.aggs: auf script.engine.groovy.inline.search: auf script.search: auf script.indexed: auf script.inline: auf –
Gerade setzen script.inline: auf an Ende, entfernen Sie alle anderen Eigenschaften, wie von Ihnen erwähnt, und starten Sie den Elasticsearch-Knoten neu. Überprüfen Sie auch nach dem Neustart, ob elasticsearch funktioniert oder nicht. Wenn elasticsearch nach dem Hinzufügen dieser Eigenschaft ordnungsgemäß gestartet wird, funktioniert es auch in Kibana. –
Das Skript funktioniert, aber ich bekomme nicht die Datensätze, die die Bedingung erfüllen ... = S –