This section contains modules responsible for various aspects of the functionality in Elasticsearch. Each module has settings which may be:
These settings must be set at the node level, either in the
elasticsearch.ymlfile, 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.
- 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.
- How many nodes need to join the cluster before recovery can start.
- Settings to control the HTTP REST interface.
- Global index-related settings.
- Controls default network settings.
- Node client
- A Java node client joins the cluster, but doesn’t hold data or act as a master node.
- A built-in scripting language for Elasticsearch that’s designed to be as secure as possible.
- Using plugins to extend Elasticsearch.
- Custom scripting available in Lucene Expressions, ad Groovy. You can also write scripts in the built-in scripting language, Painless.
- Backup your data with snapshot/restore.
- Thread pools
- Information about the dedicated thread pools used in Elasticsearch.
- 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.