06 June 2017

This Week in Elasticsearch and Apache Lucene - 2017-06-05

By Clinton GormleyAdrien Grand

Welcome to This Week in Elasticsearch and Apache Lucene! With this weekly series, we're bringing you an update on all things Elasticsearch and Apache Lucene at Elastic, including the latest on commits, releases and other learning resources.

Typeless parent/child support

With the removal of types, we had to come up with a way to support parent/child joins that didn't depend on having multiple mapping types in an index. Good progress has been made in 5.5 with the introduction of the ParentJoinFieldMapper, a field mapper that creates parent/child relation within documents of the same index. Only one join-field is allowed per index. The join field supports eager_global_ordinals, which defaults to true. Parent/child queries and aggregations have been updated to work with the new join field. Existing 5.x parent/child indices will continue to work as before in 6.x.

Changes in 5.4:

Changes in 5.x:

Changes in master:

Apache Lucene

Lucene 7.0

We expect to cut the branch during or soon after Berlin Buzzwords.

Lucene 6.6.0

After several respins, it looks like the vote for 6.6.0 is about to pass.

Custom term frequencies

Lucene will soon allow you to index custom term frequencies. This is useful if you want to use term frequencies to hold scoring signals. The only way that it could be done before was by using payloads, which come with a higher cost in terms of CPU usage and disk requirements. However this remains a very expert feature, which only works with the DOCS_AND_FREQS index options.

Module dependencies

The introduction of a dependency from the classification module on the sandbox module triggered a discussion about when it is fine for modules to depend on each other.

Other changes:

Watch This Space

Stay tuned to this blog, where we'll share more news on the whole Elastic ecosystem including news, learning resources and cool use cases!