A cluster is a collection of one or more nodes that holds the entire data. It provides federated indexing and search capabilities across all nodes and is identified by an unique name
Used to spcify the scheme for an index. It defines the fields within an index, the datatype of each filed,a nd how the filed should be handled by Elasticsearch
Elasticsearch provides the ability to subdivide the index into multiple pieces called shards.
Each shared is in itself a fully-functional, fully managaged and independent "index" that can be hosted on any node within the cluster.
Useful for the case when an index putted in a single node would take more diskspace than available, the index then is subdivided between diferernt nodes
As a user of Elasticsearch, we only need to specify the number of primary and replica shards for an index and should never deal with shards individually but only at the index level
ES distributes shards amongs all nodes in the cluster and can move shards automatically from one node to another in the case of a node failure
Used for specifying an altername for an existing index or set of indices
Specifically usefull when we want to fetch documents form multiple indices => Instead of run search queries on multiple indices, we can mention all the indices in comma separated form and give a common alias to all the indices and just use that