Today we are happy to announce the release of elasticsearch 0.90.7, which is based on Lucene 4.5.1. This is the current stable release in the 0.90 series and we recommend upgrading. You can download it here.
This is largely a bug fix release. Most changes deal with edge cases (you can read about them in the release notes) but there are a few important fixes which are worth mentioning:
In an effort to make Elasticsearch as responsive as possible, 0.90.6 introduced a change which loaded all field norms into memory whenever a new merged segment was created. For some users, this turned out to be an optimization too far. Field norms provide statistics about field length and are an important variable in TF/IDF, Lucene’s default similarity algorithm.
However, they are only useful when you actually run a full-text query on a field. Many users, especially our Logstash users, store many text fields in Elasticsearch which they never search on, which means that we never need to load the norms for these fields. This “eager” loading of norms used up much more RAM than before.
A bug in Lucene was causing a delay in cleaning up old files which manifested itself in increased memory use, especially when using the
memory store. This bug has been fixed in Lucene 4.6 and the fix has been backported to this release as well. See #4093.
The newly added Postings highlighter got off to a false start. Highlighting worked just fine... until there was more than one segment. (Note: you can never have too many tests). See #4103. It also failed on fields whose index name and field name were different. See #4116. And finally, an enhancement! The postings highlighter now also supports a separate
highlight_query. See #4121.
has_childfilter would occasionally throw an error when it matched many parents. See #4135.
boolfilter which combined a
must_notclause with a
geofilter could produce too few results. See #4144.
- The improvements in cluster state changes resulted in a race condition which caused newly added rivers to fail. See #4089.
Details of other changes are available in the release notes.
Many thanks to everybody who submitted bug reports and pull requests. Your help is greatly appreciated.