Elasticsearch is an open source search and analytics engine that can run in a distributed environment. It provides RESTful APIs to ingest and retrieve high-volume, high-velocity data. Elasticsearch is built on top of Apache Lucene and was released in 2010. It has popular use cases such as:
- Log analytics
- Full-text search
- Operational and business intelligence
- Distributed Document Store
Elasticsearch can store new data in the form of documents and it indexes the documents in a cluster by adding searchable references to the document. This enables faster searching for and retrieval of high-volume, velocity documents.
This chapter will use Elasticsearch to store and retrieve blog articles because of the search and indexing capabilities it provides; a blogging system is expected to have a lot of text, which needs to be searched very quickly to provide a good user experience.