Elasticsearch is a full-text search and analytics engine based on the Apache Lucene search engine library. It is a distributed, highly available, and scalable search engine solution that provides a wide range of algorithms to be configured for indexing and search of text data. It is an open-source solution developed in java and can be easily integrated with other subsystems, and communication can be established via REST API.
- Data is stored in a distributed fashion which provides high availability as the failure of certain storage nodes does not impact. However, this is based on the setup, such as active and backup storage nodes or how the data replication is configured. Also, it provides high scalability. As the data grows, the number of storage nodes will be added to the infrastructure.
- It uses the Apache Lucene library for indexing data and facilitates complex search queries.
- External interfaces are decoupled with the Elasticsearch package. These interfaces are communicated with Elasticsearch via REST API, which gives great flexibility to compose various components to easily make a single solution based on the organization’s needs and requirements.
- It is a kind of NoSQL database for the storage of documents. It is similar to other NoSQL databases such as Dynamodb, MongoDB, Apache Cassandra, etc. However, Elasticsearch provides complex options for data queries.
Elasticsearch Use Cases
One of the most common use cases is to build a local search engine for documents. These documents may be a kind of product documents, articles, records, people information, etc. The other use cases are log analytics, business and security analytics such as aggregation and summarization for making business decisions in real-time, autocompletion and instant search, Fuzzy search, and spell-check such as finding the documents even query text is incorrect, etc.
53 total views, 1 views today