See issues on GitHub

Release Notes

Upgrade Notes:

  • This is a beta release. We recommend testing this version out in developement, and not running it in production yet.
  • Upgrading from 0.20 requires a full cluster restart.

Breaking changes:

  • Refactoring accessors using only getters and setters (#2657)
  • Fail when updating non dynamic index setting for an open index. (#2647)
  • Remove scope support in query and facet dsl. (#2606)
  • Remove settings option for index store compression, compression is always enabled (#2577)
  • Deprecate Experimental Snappy Support (#2459)
  • Deprecate Shared Gateway (#2458)
  • Sometimes MapperParsingException and sometimes not (#2354)
  • Binary Mapped Fields: Allow to not store them by default, and return BytesReference (#2523)
  • Mapping: string mapping to automatically set omit_norms to true and index_options to docs when setting index to not_analyzed (#2349)
  • Plugins Installer: Allow to download plugins from download.elasticsearch.org (#2507)
  • Shard Allocation: add index.routing.allocation.require…. and cluster.routing.allocation.require…. setting (#2404)
  • Field Data in Node Stats now in its own element within indices (#2697)

New features:

  • Add support for sorting by fields inside one or more nested objects (#2662)
  • Add a way to randomly select which data directory to store on when using multiple data directories. (#2650)
  • Add ability to re-score Top-K query results with a secondary query, (#2640)
  • Add suggest api (#2585)
  • Add new ShardsAllocator that takes indices into account when allocating and balancing shards (#2555)
  • Indexing Slow Log (#2457)
  • Expose Lucene’s new Similarities per-field (#2424)
  • Expose Lucene’s codec api (#2411)
  • Allow highlighting on wildcard fields.. ie, comment_* (#2396)
  • Query DSL: Terms filter to allow for terms lookup from another document (#2674)

Enhancements:

  • Display list of all available site plugins on /_plugin/ end point (#2664)
  • Expose CJKBigram and Width TokenFilters in ElasticSearch (#2660)
  • Simplified range syntax when using a query string (#2655)
  • Support trailing slashes on plugin _site URLs (#2654)
  • Allow sorting by multi-valued fields (#2634)
  • Allow search_analyzer to be updated at runtime (#2604)
  • Support filter inside has_parent and has_child filter (#2588)
  • Make script cache configurable and bounded (#2539)
  • Nested query should support explain. (#2503)
  • Add scoring support to has_child and has_parent queries (#2502)
  • match_all filter with empty array (instead of obj) fires exception when used with facets (#2493)
  • Upgrade to Netty 3.5.11 (#2456)
  • Add types and stats to search slow log (#2455)
  • Expose Lucenes KeepWordTokenFilter in ElasticSearch (#2436)
  • Use Lucene’s native encoding of numeric stored values (#2433)
  • Cannot change MatchQuery behaviour with 0 terms (#2429)
  • Reuse TokenStreams for not_analyzed Strings (#2425)
  • Upgrade to netty 3.5.10 (#2399)
  • Upgrade to Netty 3.5.9 (#2377)
  • Upsert doesn’t return fields (#2362)
  • Comments are not allowed in mapping (#1394)
  • why no RegexQueryBuilder? (#988)
  • Clear cache: allow to invalidate specific filter cache keys (#2653)
  • Id Cache: Allow to configure if ids should be reused (memory wise) or not, default to false (#2605)
  • Node Stats: Add largest thread pool count per thread pool stats (#2382)
  • Terms/Ids filter: Support empty list of values, resulting in no match for it (#2687)
  • Update settings: Allow to dynamically update thread pool settings (#2509)

Bug fixes:

  • Master node operations might be executed twice (#2658)
  • Cached script filter is not used in consecutive searches (#2651)
  • Warmers do not load field data cache for sorting on new segments (#2649)
  • possibly incorrect use of Lucene OneMerge.totalBytesSize (#2643)
  • Bulk execution while a shard is replication might send erroneous version conflict failures for certain items (#2642)
  • Index with no replicas might loose on going documents while relocating a shard (#2641)
  • GeoShape intersects filter omits matching docs. (#2626)
  • Filter cache stats may report incorrect values when index is recreated (#2609)
  • NullPointerException (#2608)
  • Support MultiPhrasePrefix (MatchQuery.Type.PHRASE_PREFIX) in Highlighters (#2596)
  • Indexes created from index request might not replica initial doc to replica (#2594)
  • Primary shard failure with initializing replica shards can cause the replica shard to cause allocation failures (#2592)
  • o.e.index.analysis.CustomAnalyzer doesn’t handle properly char filters (lucene 4) (#2543)
  • Parent & child queries can fail if a segment doesn’t have documents with the targeted type or associated parent type (#2537)
  • NullPointerException during parent/child query (ES 0.20.2) (#2536)
  • Update request with upsert may fail. (#2530)
  • Incompatible mapping upgrade from object to nested ignored and “acknowledged” (#2518)
  • top_children query fails with dfs_query_* searchtype and some queries (#2501)
  • ArrayOutOfBoundException when using top_children in a must not clause. (#2500)
  • Search failures are not serialized correctly in MultiSearchResponse (#2498)
  • ShardSearchFailure handling of exception does not take actual into account for status (#2495)
  • First indexing of a dynamic boolean field can cause it not to be indexed correctly (#2487)
  • : query not working (#2486)
  • Failure to download plugins from github (#2470)
  • Wildcard query on non existent field matches all documents. (#2461)
  • The relevancy score in explanation of custom_filters_query doesn’t match the actual score (#2441)
  • Match query should fail when trying to provide several fields in its simplified form (#2432)
  • Setting logger levels using cluster update settings does not work (#2428)
  • NullPointerException with prefix query (#2408)
  • Deriving the REST status code from a failure can, very rarely, cause an infinite loop (#2402)
  • Terms filter doesn’t understand _id (#2395)
  • Adding a type with _source or _all enabled fails, when these are disabled in index (#2394)
  • MapperParsingException on percolation with _size enabled (#2352)
  • Multi Match: tie_breaker should allow for floating point value (#2397)
  • With cache turned off I’m getting the following error: nested: ClassCastException[org.apache.lucene.util.FixedBitSet cannot be cast to org.elasticsearch.common.lucene.docset.FixedBitDocSet] (#2340)