ElasticSearch

ElasticSearch
Developer(s) Shay Banon
Stable release 0.18.2 / October 27, 2011; 4 months ago (2011-10-27)
Development status Active
Written in Java
Operating system Cross-platform
Type Search and index
License Apache License 2.0
Website http://www.elasticsearch.org

ElasticSearch is a distributed, RESTful, free/open source search server based on Apache Lucene. It is developed by Shay Banon[1] and is released under the Apache Software License. ElasticSearch is developed in Java.

Contents

History

Shay Banon created Compass in 2004.[2] While thinking about the third version of Compass he realized that it would be necessary to rewrite big parts of Compass to "create a scalable search solution".[2] So he created "a solution built from the ground up to be distributed" and used a common interface, JSON over HTTP, suitable for programming languages other than Java as well.[2] Shay Banon released the first version of ElasticSearch in February 2010.[3]

In a french interview some more ideas are explained.[4]

Features

ElasticSearch can be used to search all kind of documents. It provides a scalable search solution, has near real-time search and support for multi-tenancy.[5] "ElasticSearch is distributed, which means that indices can be divided into shards and each shard can have zero or more replicas. Each node hosts one or more shards, and acts as a coordinator to delegate operations to the correct shard(s). Rebalancing and routing are done automatically [...]".[5]

It uses Apache Lucene and tries to make all features of it available through the JSON and Java API. It has features like facetting but also a feature called percolator, which can be useful to be notified if new documents match for registered queries.

Another feature is called 'Gateway' and handles the long term persistence of the index[6]- i.e. an index can be recovered from the Gateway in a case of a server crash. ElasticSearch supports real-time GET requests, which makes it more suitable as NoSQL solution,[7] but it lacks distributed transactions.[8]

Comparison to other Software

Apache Solr is another open source search server built on top of Apache Lucene. There are some documents comparing features or performance of Apache Solr and ElasticSearch. In an article from Ryan Sonnek it will be pointed out how Apache Solr and ElasticSearch compare regarding near real-time indexing and searching.[9]

A slide from Peter Karich lists advantages and disadvantages of ElasticSearch,[10] which can be summarized as follows:

Advantages:

Disadvantages:

Different Usage

Users

There are already smaller and some bigger companies using ElasticSearch.[14] For example Stumbleupon and Mozilla have reported that and why they are using ElasticSearch.[15][16][17]

Videos

See also

References