Modules

This section contains modules responsible for various aspects of the functionality in Elasticsearch. Each module has settings which may be:

static
These settings must be set at the node level, either in the elasticsearch.yml file, or as an environment variable or on the command line when starting a node. They must be set on every relevant node in the cluster.
dynamic
These settings can be dynamically updated on a live cluster with the cluster-update-settings API.

The modules in this section are:

Discovery and cluster formation
How nodes discover each other, elect a master and form a cluster.
Shard allocation and cluster-level routing
Settings to control where, when, and how shards are allocated to nodes.
Gateway
How many nodes need to join the cluster before recovery can start.
HTTP
Settings to control the HTTP REST interface.
Indices
Global index-related settings.
Network
Controls default network settings.
Node client
A Java node client joins the cluster, but doesn’t hold data or act as a master node.
Painless
A built-in scripting language for Elasticsearch that’s designed to be as secure as possible.
Plugins
Using plugins to extend Elasticsearch.
Scripting
Custom scripting available in Lucene Expressions, ad Groovy. You can also write scripts in the built-in scripting language, Painless.
Snapshot/Restore
Backup your data with snapshot/restore.
Thread pools
Information about the dedicated thread pools used in Elasticsearch.
Transport
Configure the transport networking layer, used internally by Elasticsearch to communicate between nodes.
Remote clusters
Remote clusters are used in features that work by connecting across clusters on the transport layer.
Cross-cluster search
Cross-cluster search enables executing search requests across more than one cluster without joining them and acts as a federated client across them.