Ändern der Eingabedaten im Logstash mithilfe eines Filters

Ich habe meine Eingabedaten aus einer Tabelle. Die Tabellendaten sehen aus wie<Customer_id> <Item_id> <Item name>. Für jeden vom Kunden mitgebrachten Artikel gibt es eine separate Zeile in der Tabelle. Wenn c1 beispielsweise i1, i2, i3, i4, i5 kauft, enthält die Tabelle 5 Zeilen.

Die Daten, die ich in elasticsearch einfügen möchte, lauten folgendermaßen:

{
  "c1": [
    {
      "item_id": "i1",
      "item_name": "ABC"
    },
    {
      "item_id": "i2",
      "item_name": "XYZ"
    },
    .....
  ],
  "c2": [
    {
      "item_id": 4,
      "item_name": "PQR"
    }
  ]
}

Wie kann ich die Eingabe wie oben in logstash ändern?

Auch mein Schema sieht so aus:

Item: item_id, item_name

Buy: cust_id, item_id

Also Können Sie bitte die SQL-Abfrage vorschlagen, die durchgeführt werden soll, um die obige Ausgabe zu erhalten?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage