The main goals of Elasticsearch are indexing, searching, and analytics, but it's often required to modify or enhance the documents before storing in Elasticsearch.
The most common scenarios in this case are:
You need a working Elasticsearch installation as we described in the Downloading and installing Elasticsearch recipe and a simple text editor to change configuration files.
To set up an ingest node, you need to edit the config/elasticsearch.yml
file and set up the ingest
property to true
:
node.ingest: true
The default configuration for Elasticsearch is to set the node as ingest node (refer to Chapter 13, Ingest, for more info on ingestion pipeline).
As the client node, using the ingest node is a way to provide functionalities to Elasticsearch without suffering cluster safety.
The best practice if you are using NLP, attachment extraction (via attachment ingest plugin) or logs ingestion, is to have a pool of client nodes (no master, no data) with ingestion active.
The attachment plugin and NLP ones, in the previous version of Elasticsearch, were available in standard data node or master node. They give a lot of problems to Elasticsearch due to:
3.141.37.10