Logstash-Indizierung von JSON-Arrays

Logstash ist großartig. Ich kann es JSON wie folgt senden (aus Gründen der Lesbarkeit mehrzeilig):

{
  "a": "one"
  "b": {
    "alpha":"awesome"
  }
}

Und dann fragen Sie nach dieser Zeile in Kibana mit dem Suchbegriffb.alpha:awesome. Nett.

Allerdings habe ich jetzt eine JSON-Protokollzeile wie folgt:

{
  "different":[
    {
      "this": "one",
      "that": "uno"
    },
    {
      "this": "two"
    }
  ]
}

Und ich möchte in der Lage sein, diese Zeile mit einer Suche wie zu findendifferent.this:two (oderdifferent.this:one, oderdifferent.that:uno)

Wenn ich Lucene direkt verwenden würde, würde ich das durchlaufendifferent Array, und generieren Sie einen neuen Suchindex für jeden Hash darin, aber Logstash scheint derzeit diese Zeile wie folgt aufzunehmen:

anders: {this: one, that: uno}, {this: two}

Was mir bei der Suche nach Protokollzeilen mit nicht weiterhilftdifferent.this oderdifferent.that.

Irgendwelche Gedanken zu einem Codec, Filter oder einer Codeänderung, die ich vornehmen kann, um dies zu ermöglichen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage