Breaking changes in 7.3edit

This section discusses the changes that you need to be aware of when migrating your application to Elasticsearch 7.3.

See also What’s new in 7.17 and Release notes.

API changesedit

Transform API changesedit

It is no longer possible to supply the format parameter when you define a date_histogram transform pivot. Previously constructed transforms will still run but the configured format will be ignored.

Mapping changesedit

dense_vector field now requires dims parameter, specifying the number of dimensions for document and query vectors for this field.

Defining multi-fields within multi-fieldsedit

Previously, it was possible to define a multi-field within a multi-field. Defining chained multi-fields is now deprecated and will no longer be supported in 8.0. To resolve the issue, all instances of fields that occur within a fields block should be removed from the mappings, either by flattening the chained fields blocks into a single level, or by switching to copy_to if appropriate.

Plugins changesedit

IndexStorePlugin changesedit

IndexStore and DirectoryService have been replaced by a stateless and simple DirectoryFactory interface to create custom Lucene directory instances per shard.

Search changesedit

Deprecation of queriesedit

The common query has been deprecated. The same functionality can be achieved by the match query if the total number of hits is not tracked.

Deprecation of query parametersedit

The cutoff_frequency parameter has been deprecated for match and multi_match queries. The same functionality can be achieved without any configuration provided that the total number of hits is not tracked.

CCR changesedit

Directly modifying aliases of follower indices is no longer allowededit

Aliases are now replicated to a follower from its leader, so directly modifying aliases on follower indices is no longer allowed.

Security deprecationsedit

The transport.profiles.* setting is deprecated.edit

The transport.profiles.* setting is now deprecated. In 8.0, the Java transport client will be removed. All client traffic will use the HTTP interface instead.

To avoid deprecation warnings, migrate any code for the Java transport client. Then remove any transport profiles using the deprecated setting.