ElasticSearch gets facets, scripting and better performance
Some of the major new features in ElasticSearch 0.9.0 are (or see the Detailed release notes )
ES now supports a wide range of facets ie aggregated counts based on your current search:
Returns the most common terms associated with the current query, which eg could be used to populate auto-complete fields
Returns statistical information on numeric fields, eg count, total, min, max, variance, sum of squares, standard deviation
Breaks the value of a numeric or date field up into buckets, which can be used to draw histograms, eg the number of posts per week.
The mvel dynamic scripting language can be used for:
script_fields can use stored values to return dynamically generated values
custom_score queries can be used to order the results by some value other than just relevance, eg you could use a publish_date field to increase the relevance of more recent results
Improved gateway recovery
Restarting a node used to mean that it had to retrieve all the data either from the gateway (permanent index store) or from the primary shard.Now, the node can reuse existing index files, which greatly speeds up the recovery process.
Also included is the ability to control when the initial recovery will happen as a factor of the number of nodes in the cluster and time.
This does require you to reindex your data when upgrading from 0.8.0 to 0.9.0.
Stability, Bug Squashing, and Memory Usage Improvements
A lot of work has gone into improved stability, better memory management, and major bug squashing. ElasticSearch is being used by several companies to index very large amount of data with large cluster size successfully with snapshot versions of 0.9.