Elasticsearch is a distributed, RESTful search and analytics engine capable of addressing a growing number of use cases. As the heart of the Elastic Stack, it centrally stores your data for fast searches, fine-tuned relevancy, and powerful analytics that scale with ease.
Elasticsearch is an open-source analytical search engine that allows you to store, search, and analyze large volumes of structured, semi structured, and unstructured data in near real time. Elasticsearch can be deployed on premises for specific environments. It is a distributed system, enabling high scalability and fault tolerance. Elasticsearch is a full-featured, full-text search engine with the capability to aggregate textual and numeric data in many ways.
Some common uses cases for Elasticsearch include website search for sites like Wikipedia and Yelp; IT observability such as mining logs and transaction data for trends, stats, or anomalies; and mission analytics to quickly investigate, analyze, visualize, and ask ad-hoc questions on huge datasets.
An Elasticsearch cluster is a collection of one or more nodes (servers) that together holds the entire data collection 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: