Elasticsearch is an open-source search engine built on top of
Apache Lucene™, a full-text search-engine
library. Lucene is arguably the most advanced, high-performance, and fully featured
search engine library in existence today—both open source and proprietary.

But Lucene is just a library. To leverage its power, you need to work in Java
and to integrate Lucene directly with your application. Worse, you will likely
require a degree in information retrieval to understand how it works. Lucene
is very complex.

Elasticsearch is also written in Java and uses Lucene internally for all of
its indexing and searching, but it aims to make full-text search easy by hiding
the complexities of Lucene behind a simple, coherent, RESTful API.

However, Elasticsearch is much more than just Lucene and much more than
“just” full-text search. It can also be described as follows:

A distributed real-time document store where every field is indexed and
searchable

A distributed search engine with real-time analytics

Capable of scaling to hundreds of servers and petabytes of structured
and unstructured data

And it packages up all this functionality into a standalone server that
your application can talk to via a simple RESTful API, using a web client from
your favorite programming language, or even from the command line.

It is easy to get started with Elasticsearch. It ships with sensible defaults
and hides complicated search theory away from beginners. It just works,
right out of the box. With minimal understanding, you can soon become
productive.

As your knowledge grows, you can leverage more of Elasticsearch’s advanced
features. The entire engine is configurable and flexible. Pick and choose
from the advanced features to tailor Elasticsearch to your problem domain.

If you have any questions related to Elasticsearch, including specific features,
language clients and plugins, join the conversation at
discuss.elastic.co.

The Mists of Time

Many years ago, a newly married unemployed developer called Shay Banon
followed his wife to London, where she was studying to be a chef. While looking
for gainful employment, he started playing with an early version of Lucene,
with the intent of building his wife a recipe search engine.

Working directly with Lucene can be tricky, so Shay started work on an
abstraction layer to make it easier for Java programmers to add search to
their applications. He released this as his first open source project, called
Compass.

Later Shay took a job working in a high-performance, distributed environment
with in-memory data grids. The need for a high-performance, real-time,
distributed search engine was obvious, and he decided to rewrite the Compass
libraries as a standalone server called Elasticsearch.

The first public release came out in February 2010. Since then, Elasticsearch
has become one of the most popular projects on GitHub with commits from over
300 contributors. A company has formed around Elasticsearch to provide
commercial support and to develop new features, but Elasticsearch is, and
forever will be, open source and available to all.