- ElasticSearch is a distributed, RESTful modern search and analytics engine based on Apache Lucene.
- ElasticSearch can be deployed using Amazon OpenSearch service, on AWS.
- General use cases of ElasticSearch
- Food Ordering - HLD Design
- Uber Driver Allocation - HLD Design
- Logging Solution in Distributed Systems - HLD Design
- Flight Booking Search - HLD Design
- Grab - Search Index Optimization
- Shopify: Powering the search for better help documentation using Elastic Site Search
Feature | Remarks |
---|---|
Near-time search | Elasticsearch has near real-time search - document changes are not visible to search immediately, but will become visible within this timeframe. Read more |
REST API interface | We can interact with ElasticSearch through REST APIs. |
Default Config | An Elasticsearch index has 5 shards and 1 replica by default. |
Mapping (Optional) | Mapping is the process of defining how a document, and the fields it contains, are stored and indexed. |
Sample Search Query | Read more |
Ingest Node | Ingest node is used for pre-process documents before the actual document indexing happens. - It helps to intercepts bulk and index requests. |
Data Storage | Settings, index mapping, alternative cluster states, and other metadata are saved to Elasticsearch files outside the Lucene environment. This is to prevent excessive disk I/O. |
Elastic Stack | For data analysis, it operates alongside Kibana, and Logstash to form the ELK stack. - ElasticSearch data streaming is used for the logs. |
Data Streaming | A data stream lets you store append-only time series data (like logs) across multiple indices while giving you a single named resource for requests. |
Auto Scaling | Auto-expand indices based on search queries. Read more. |
Pricing | Read more |
Data Type |
---|
Textual |
Numerical |
GeoSpatial (geo-point, geo-shape data types etc.) |
Unstructured etc. |