Cambiar los datos de entrada en logstash usando un filtro

Tengo mis datos de entrada de una tabla. Los datos de la tabla se ven como<Customer_id> <Item_id> <Item name>. Para cada artículo traído por el cliente, hay una fila separada en la tabla. Por ejemplo, si c1 compra i1, i2, i3, i4, i5, tendrá 5 filas en la tabla.

Ahora los datos que quiero insertar en elasticsearch son de alguna manera:

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

¿Cómo puedo modificar la entrada como se indica arriba en logstash?

También mi esquema se ve así:

Artículo: item_id, item_name

Compra: cust_id, item_id

También, ¿puede sugerir que se realice la consulta SQL para obtener el resultado anterior?

Respuestas a la pregunta(1)

Su respuesta a la pregunta