New features are introduced and documented in the 7.0.0 release notes (https://www.elastic.co/guide/en/elasticsearch/reference/current/release-notes-7.0.0.html). There are many new features involved in the new release, however, some of them are not our interests and some of which are beyond the scope of this book. Therefore, we show them with two sub-sections. The first sub-section lists those new features to be discussed in the later chapters. The second sub-section lists those new features with description and their issue number.
New features
New features to be discussed
The new features to be discussed include the following:
- Analysis (see the examples in Chapter 15, Working with Elasticsearch Analysis Plugin):
- Added support for inlined user dictionary in Nori's tokenizer
- Added a prebuilt ICU analyzer
- Geo (see the examples at https://www.elastic.co/guide/en/elasticsearch/reference/master/geo-shape.html):
- Integrated Lucene's LatLonShape (BKD-backed geoshapes) as the default geo_shape indexing approach
- Java High Level REST Client (see the examples in Chapter 11, Elasticsearch from Java Programming):
- Added rollup search
- Java Low Level REST Client (see the examples in Chapter 11, Elasticsearch from Java Programming):
- Made warning behavior pluggable for each request
- Added PreferHasAttributeNodeSelector
- Machine learning (see the examples in Chapter 16, Machine Learning with Elasticsearch):
- Added a delayed datacheck to the datafeed job runner
- Mapping (see the examples in Chapter 4, Mapping APIs):
- Made typeless APIs usable with indices whose type name is different from _doc
- Added nanosecond field mapper date_nanos for the Date datatype
- Added rank_feature and rank_features datatype to expose Lucene’s FeatureField
- Search (see the examples in Chapter 6, Search APIs):
- Added intervals query
- Added soft limit to open scroll contexts
- Added took timing info to response for the _msearch/template request
- Added allow_partial_search_results flag to search requests with default setting
- Introduced ability to minimize round-trips parameter ccs_minimize_roundtrips in cross-cluster search requests
- Added script filter query to intervals query
- Added track_total_hits parameter to enable the setting of the number of hits to track accurately
- SQL (see the examples in Chapter 14, Working with Elasticsearch SQL):
- Introduced the HISTOGRAM grouping function
- Introduced DATABASE() and USER() system functions
- Introduced INTERVAL query
- Introduced SQL DATE data type
- Introduced FIRST and LAST aggregate function
New features with description and issue number
These new features include:
- Allocation:
- Introduce the elasticsearch-node repurpose tool to clean up the problematic data for repurposed nodes, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/39403
- Analysis:
- Add support for field types other than text field type to work with TermVectors API, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/31915
- Authentication:
- Add support for API keys to access Elasticsearch, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/38291
- Add support for for authentication in the OpenID Connect realm, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/37787
- Add support for OpenID Connect realm JWT+JWS related functionality, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/37272
- Add support for OpenID Connect realm base functionality, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/37009
- Authorization:
- Allow custom authorization with an authorization engine, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/38358
- Wildcard IndicesPermissions don't cover security, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/36765
- CCR:
- Generalize search.remote settings to cluster.remote (See the cross-cluster search setting from the Setting changes sub-section of the Breaking Changes section in this chapter)
- Add support for cross cluster replication follow info api, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/37408
- Distributed:
- Add support for log messages from allocation commands, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/25955
- Features/Index life cycle management:
- Add support for the unfollow action for CCR follower indices, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/36970
- Features/Ingest:
- Remove support for the Hashing processor, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/32178
- Add support for the indexed_chars_field parameter in ingest attachment processor plugin to specify the size of indexed characters on a per document basis, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/28977
- Features/Java high-level REST client:
- Add support for the GraphClient for the high level REST client, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/32366
- Features/Monitoring:
- Add support to collect only the display_name cluster metadata setting, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/35265
- Geo:
- Add support for the geotile_grid aggregation, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/37842
- Infrastructure/Core:
- Skip shard refreshes if a search request happens on a search idle shard, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/27500
- Infrastructure/Logging:
- Unify log rotation for index/search slowlog, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/27298
- Infrastructure/Plugins:
- Reload secure settings for plugins, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/31383
- REST API:
- Adds support for include_type_name option to the indices.create,
indices.get_mapping and indices.put_mapping APIs, which defaults to true, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/29453
- Adds support for include_type_name option to the indices.create,
- Machine Learning:
- Filter undefined job groups from update job calendar actions, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/30757
- Mapping:
- Add a feature_vector field to index sparse feature vectors, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/31102
- Give precedence to index creation when mixing typed templates with typeless index creation and vice-versa, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/37871
- Ranking:
- Add support for ranking evaluation API to evaluate the search results over a set of given search queries, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/27478
- Recovery:
- Ass support to allow to trim all ops above a certain sequence number with a term lower than X, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/31211
- SQL:
- Add support for Adds basic support for ST_AsWKT function, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/34205
- Add support for SYS GEOMETRY_COLUMN system command, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/30496
- Add support to allow sorting of groups by aggregates, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/38042
- Search:
- Add took timing info to response for _msearch/template API, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/30961
- Add support to expose the Lucene Matches API to search query, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/29631 Enable adaptive replica selection by default, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/26522
- Add setting http.search.max_content_length for the search, msearch and template search APIs to set the maximum search request size, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/26423
- Security:
- Switch internal security index to security-7 to match the version, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/39337
- Suggesters:
- Serialize suggestion responses as writeable instead of streamable which makes custom suggestion response types possible, Elasticsearch GitHub issue https://github.com/elastic/elasticsearch/pull/30284
In the next section, let's pay attention to the breaking changes in version 7.0.0.