Some nifty features of elasticsearch
distributed, highly available, redundant, and horizontally scalable architecture document store using API language clients or HTTP REST interface indexes are like tables in RDBMS, types are like tables Every field in a document is indexed and can be queried. CRUD operations are easy optimistic concurrency control on update/delete ops using version parameter automatic versioning update operation merges desired changes groovy scripting by default, available in request body idempotent operations retry on update with retry_on_conflict parm bulk operations each document in an index has a type. Every type has its own mapping or schema definition.
simple value searches, ranges, etc indexed, analyzed (tokenization, normalization), analyze API _all is a system-generated full-text field which can be disabled full-text search relevance scores in full-text search results phrase searches highligting results sorting results, relevance by default or can specify with sort parm filter DSL (term, terms, range, exists, missing, bool,) query DSL (match_all, match, multi_match, bool,) analytics aggregations, nested