Prior to Elasticsearch 5.0, if we wanted to preprocess documents before indexing them to Elasticsearch, then the only way was to make use of Logstash or preprocess them programmatically/manually and then index them to Elasticsearch. Elasticsearch lacked the ability to preprocess/transform the documents, and it just indexed the documents as they were. However, the introduction of a feature called ingest node in Elasticsearch 5.x onward provided a lightweight solution for preprocessing and enriching documents within Elasticsearch itself before they are indexed.
If an Elasticsearch node is implemented with the default configuration, by default, it would be master, data, and ingest enabled (that is, it would act as a master node, data node, and ingest node). To disable ingest on a node, configure the following setting in the elasticsearch.yml file: