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.