ElasticSearch

A Distributed RESTful Search Engine

ElasticSearch is a distributed RESTful search engine built for the cloud.

Features include:

Distributed and Highly Available Search Engine.
  Each index is fully sharded with a configurable number of shards.
  Each shard can have one or more replicas.
  Read / Search operations performed on either one of the replica shard.

Multi Tenant with Multi Types.
  Support for more than one index.
  Support for more than one type per index.
  Index level configuration (number of shards, index storage, ...).

Various set of APIs
  HTTP RESTful API
  Native Java API.
  All APIs perform automatic node operation rerouting.

Document oriented
  No need for upfront schema definition.
  Schema can be defined per type for customization of the indexing process.

Reliable, Asynchronous Write Behind for long term persistency.
(Near) Real Time Search.

Built on top of Lucene
  Each shard is a fully functional Lucene index
  All the power of Lucene easily exposed through simple configuration
  and plugins.

Per operation consistency
  Single document level operations are atomic, consistent, isolated
  and durable.

This script requires a 'elasticsearch' user/group to exist before running.
The recommended UID/GID is 280. You can create these like so:
groupadd -g 280 elasticsearch
useradd -u 280 -g elasticsearch -s /bin/sh elasticsearch
