elasticsearch provides the ingest mechanism to transform documents while they are indexed. The processory can transform fields, add and remove fields from indexed documents. For the rare cases it is possible to even write your own transform plugin. I cannot however find any possibilty to produce mutiple output documents for a single input document. Is this somehow possible using the ingest module in elastic? I would like to split a single document into multiple documents. Does it always have to be a one-to-one relation between the input and transformed document?
As of 2025-10, there are no current plans to implement such functionality in ingest pipelines, as per the comment from 2024-04-03.
we have no plans to implement this but please feel free to add more use case examples which would be valuable input to requirements should we choose to do this later.
From the same comment:
Workaround options include using Logstash or other external tools to do the splitting. Doing it outside of ES helps with many of the concerns we have about doing it in ES. As we move more towards embracing OTel, in the future you might be able to use an OTel collector to do the split or it might be possible in other parts of Elastic offerings (no promises, just thinking out loud there).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With