ElasticSearch gets facets, scripting and better performance

I've just released ElasticSearch.pm version 0.18 which supports ElasticSearch version 0.9.0

Some of the major new features in ElasticSearch 0.9.0 are (or see the Detailed release notes )

Facets support

ES now supports a wide range of facets ie aggregated counts based on your current search:

* Term facets

Returns the most common terms associated with the current query, which eg could be used to populate auto-complete fields

* Statistical facets

Returns statistical information on numeric fields, eg count, total, min, max, variance, sum of squares, standard deviation

* Histogram facets

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.

Scripting support

The mvel dynamic scripting language can be used for:

* Script fields

script_fields can use stored values to return dynamically generated values

* Custom score

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.

Leave a comment

About Clinton Gormley

user-pic The doctor will see you now...