Elasticsearch is a replicated free software search engine based on Lucene. It is written in Java and uses the Lucene library as its foundation. Official clients are available in Java, .NET (C#), Python, Groovy, and several other languages.
Developed by Elastic along with related projects - the Logstash data collection and log analysis engine and the analytics and visualization platform under Kibana.
Major sites using Elasticsearch include Wikimedia, StumbleUpon, Quora, Foursquare, SoundCloud, GitHub, Netflix. Amazon, IBM, Qbox and Elastic offer Elasticsearch as a managed service to subscribers, most of these public-cloud managed services also include support for Kibana.
ElasticSearch features:*
Provides horizontally scalable search, supports multi-threading. Search indexes can be divided into segments, each segment can have multiple replicas, each node can host multiple segments, with each node acting as a coordinator to delegate operations to the correct segment, rebalancing and routing are performed automatically. Linked data is often stored in the same index, which consists of one or more primary segments and possibly several replicas. Once an index is created, the number of primary segments cannot be changed.
All Lucene system functions are accessible through application interfaces in JSON and Java.
Another feature is the so-called "gateway", which ensures long-term preservation of the index; for example, the index can be restored from the gateway in case of server failure. The system supports real-time GET queries, which makes it suitable for use as a NoSQL DBMS, but it does not implement distributed transactions.