With 2236 pull requests by 333 commiters added since the release of Elasticsearch 5.0.0, we are proud to announce the release of Elasticsearch 6.0.0 GA, based on Lucene 7.0.1.

A big thank you to all the Elastic Pioneers who tested early versions and opened bug reports, and so helped to make this release as good as it is.

Download Elasticsearch 6.0.0

Elasticsearch 6.0 breaking changes

Elasticsearch 6.0.0 release notes

Elasticsearch X-Pack 6.0 breaking changes

Elasticsearch X-Pack 6.0.0 release notes

Stack upgrade docs before beginning the upgrade process.

Cross Cluster Search to search across both your 6.x and 5.x clusters at the same time.

reindex old indices, as well as to upgrade your Kibana, Security, and Watcher indices for 6.0. The Cluster Checkup helper runs a series of checks on your existing cluster to help you correct any issues before upgrade. You should also consult your deprecation logs to ensure that you are not using features that have been removed in 6.0.

replay just the operations missing from that shard making the recovery process much more efficient.

Doc-values provide a fast columnar data store – it’s part of the magic that makes aggregations so fast in Elasticsearch. Previously, a storage slot was reserved for every field in every column. If many fields occurred only in a few documents, this could result in a huge waste of disk space. Now, you pay for what you use. Dense fields will use the same amount of space as before, but sparse fields will be significantly smaller. Not only does this reduce disk space usage, it also reduces merge times and improves query throughput as the file system cache can be better utilised.

index sorting, you can pay the price of sorting at index time (30-40% of throughput) instead of at search time. That way, a search can terminate as soon as it has gathered sufficient hits.

To take advantage of this, your documents need to be sorted at index time in the same order as will be used for your primary sort criterion at search time, e.g. by price or timestamp. This means that it won’t work well where your primary sort is on the relevance _score. It also isn’t suitable for searches with aggregations, as aggregations have to examine all documents regardless and can’t terminate early.

However, there is another non-obvious benefit of index sorting. Sorting on low-cardinality fields such as age, gender, is_published, which are commonly used as filters, can result in more efficient searches as all potential matching documents are grouped together.

Distributed watch execution moves watch execution to the nodes that hold the shards of the watcher index, so that your watches can scale with your cluster.

Removal of Types.

We’ve also added some new features:

The significant_text aggregation which is like significant_terms, but works on text fields by re-analysing the _source instead of using masses of heap space for fielddata.

The new ip_range field type field type allows you to index ranges of IPv6 and IPv6 addresses.

The new icu_collation_keyword field type provides support for language specific sort orders.

The _all field has been removed in favour of searching all fields by default in the query_string and simple_query_string queries. This has resulted in a significant disk space savings in many out-of-the-box situations. This behaviour is configurable: a list of default fields can be provided per index.

generate and set strong passwords for reserved users the first time the cluster is started.

The second change is that TLS/SSL between nodes is required when security is enabled. With this change, besides encrypting node-to-node communication, we can identify nodes which are allowed to join the cluster by virtue of them possessing a trusted certificate. Rest assured, we provide you with a simple command line tool called certgen to help you generate certificates easily.

download Elasticsearch 6.0.0, try it out, and let us know what you think on Twitter (@elastic) or in our forum. You can report any problems on the GitHub issues page.