Elasticsearch is a NoSQL database that is based on Lucene search engine and provides a restful interface for different operations. It is easy to scale, flexible, schema-less distributed search and analytics engine. It provides simple deployment maximum reliability and uses indexes for data storage. Elasticsearch can be easily scaled horizontally. It is used to perform detailed analysis and stores the data centrally for quick search of the documents.
An Elasticsearch cluster is a collection of one or more nodes (servers) that together holds the entire data and provides federated indexing and search capabilities across all nodes. A node is a single server that is part of the cluster, stores the data, and participates in the cluster’s indexing and search capabilities.
An index is a collection of documents that have similar characteristics. A document is a basic unit of information that can be indexed. When an index is created, the number of shards can be defined. Each shard is a fully functional and independent "index" that can be hosted on any node in the cluster. Sharding is important for two primary reasons:
For more information about Elasticsearch, see Elastic Stack and Product Documentation .