Elasticsearch

Elasticsearch is an analytics engine for all types of data including textual, numerical, geospatial, structured, and unstructured. Known for its simple REST APIs, distributed nature, speed, and scalability, Elasticsearch is the central component of the Elastic Stack, a set of tools for data ingestion, enrichment, storage, analysis, and visualization.

Has big variety of usage

This analytics engine could be use in many cases because of its ability to index many types of content. Here are very few examples:

  • Application search
  • Website search
  • Enterprise search
  • Logging and log analytics
  • Infrastructure metrics and container monitoring
  • Application performance monitoring
  • Geospatial data analysis and visualization
  • Security analytics
  • Business analytics

and how it works?

Raw data flows into Elasticsearch from a variety of sources, including logs, system metrics, and web applications. Data ingestion is the process by which this raw data is parsed, normalized, and enriched before it is indexed in Elasticsearch. Once indexed in Elasticsearch, users can run complex queries against their data and use aggregations to retrieve complex summaries of their data. And thanks to Kibana plugins you can visualize collected data, share dashboards and manage Elastic Stack.

Fast full-text searching

Elasticsearch is also known for its speed, it’s fast and excels at full-text search. It is a near real-time search platform, meaning the latency from the time a document is indexed until it becomes searchable is very short — typically one second.

The documents stored in Elasticsearch are distributed across different containers known as shards, which are duplicated to provide redundant copies of the data in case of hardware failure. In addition to its speed, scalability, and resiliency, Elasticsearch has a number of powerful built-in features that make storing and searching data even more efficient, such as data rollups and index lifecycle management.