ElasticSearch (ES) is a distributed, RESTful search and analytics engine built on Apache Lucene. It is commonly used for log analytics and full text search. This full text search includes application search, enterprise search, and website search. You can send data in the form of JSON documents to ElasticSearch using their API or their ingestion tool LogStash.
The way Elasticsearch works is it stores this original JSON document and adds a searchable reference to it in the ElasticSearch cluster’s index. Simply put, an ES index is a collection of documents related to each other. ES behaves like a REST API, so you can interact with it using HTTP methods. ES uses the Apache Lucene index to store data.
One of ElasticSearch’s several benefits is its near real-time operations such as reading or writing data. It can index data without defining the data’s structure. There are performance incentives however to define ES mappings according to data types.
Since we have mentioned both ElasticSearch and Logstash, we should also mention Kibana, since it rounds out the ELK stack. ELK is short for ElasticSearch, Logstash, and Kibana and is also called the Elastic Stack. Kibana is a visualization tool used to visualize your ES data – providing near real-time histograms, line graphs, pie charts, and maps. The Elastic Stack continues to expand to include additional tools for data ingestion, enrichment, storage, analysis, and visualization.
Installing a single node of ES is not difficult. The only prerequisite is having a JDK version 8 or higher installed. ES can be downloaded directly or through a repository and configured through its elasticsearch.yml configuration file.
After a licensing change announced in January 21, 2021, versions of ElasticSearch are now issued under the Elastic license instead of the Apache License it was under previously. Before the official change was made, Amazon Web Services launched something called the OpenSearch project. This is a community-driven fork of open source ElasticSearch and Kibana offered as an open-source search and analytics suite.