A pipeline defines a series of processors. Each processor transforms the document in some way. Each processor is executed in the order in which it is defined in the pipeline. A pipeline consists of two main fields: a description and a list of processors.
The description parameter is a non-required field and is used to store some descriptions/usage of the pipeline; by using the processors parameter, you can list the processors to transform the document.
The typical structure of a pipeline is as follows:
{ "description" : "...", "processors" : [ ... ] }
The ingest node has around 20 + built-in processors, including gsub, grok, convert, remove, rename, and so on. These can be used while building a pipeline. Along with built-in processors, ingest plugins such as ingest attachment, ingest geo-ip, and ingest user-agent are available and can be used while building a pipeline. These plugins are not available by default and can be installed just like any other Elasticsearch plugin.