What is a cluster, node, shard, and replica in Elasticsearch?

Answer

A cluster is a collection of one or more Elasticsearch nodes that together hold all your data. A node is a single server instance of Elasticsearch that belongs to a cluster. A shard is a subset of an index — Elasticsearch horizontally splits an index into multiple shards, each of which is a fully functional, independent Lucene index stored on a node. A replica is a copy of a primary shard stored on a different node. Replicas provide high availability (if a node fails, replicas take over) and improve read throughput (searches can be executed on replicas in parallel).