116 lines
3.9 KiB
Plaintext
116 lines
3.9 KiB
Plaintext
[discrete]
|
|
[[breaking_80_mappings_changes]]
|
|
==== Mapping changes
|
|
|
|
//NOTE: The notable-breaking-changes tagged regions are re-used in the
|
|
//Installation and Upgrade Guide
|
|
|
|
//tag::notable-breaking-changes[]
|
|
|
|
// end::notable-breaking-changes[]
|
|
|
|
|
|
.The maximum number of completion contexts per field is now 10.
|
|
[%collapsible]
|
|
====
|
|
*Details* +
|
|
The number of completion contexts within a single completion field
|
|
has been limited to 10.
|
|
|
|
*Impact* +
|
|
Use a maximum of 10 completion contexts in a completion field. Specifying more
|
|
than 10 completion contexts will return an error.
|
|
====
|
|
|
|
|
|
.Mapping API endpoints containing mapping types have been removed.
|
|
[%collapsible]
|
|
====
|
|
*Details* +
|
|
The typed REST endpoints of the Put Mapping, Get Mapping and Get Field mapping
|
|
APIs have been removed in favour of their typeless REST endpoints, since indexes
|
|
no longer contain types, these typed endpoints are obsolete.
|
|
|
|
*Impact* +
|
|
Use the typeless REST endpoints to update and retrieve mappings. Requests
|
|
submitted to the typed mapping API endpoints will return an error.
|
|
====
|
|
|
|
.Multi-fields within multi-fields is no longer supported.
|
|
[%collapsible]
|
|
====
|
|
*Details* +
|
|
Previously, it was possible to define a multi-field within a multi-field.
|
|
Defining chained multi-fields was deprecated in 7.3 and is now no longer
|
|
supported.
|
|
|
|
*Impact* +
|
|
To migrate mappings, all instances of `fields` that occur within
|
|
a `fields` block should be removed, either by flattening the chained `fields`
|
|
blocks into a single level, or by switching to `copy_to` if appropriate.
|
|
====
|
|
|
|
[[fieldnames-enabling]]
|
|
.The `_field_names` metadata field's `enabled` parameter has been removed.
|
|
[%collapsible]
|
|
====
|
|
*Details* +
|
|
The setting has been deprecated with 7.5 and is no longer supported on new indices.
|
|
Mappings for older indices will continue to work but emit a deprecation warning.
|
|
|
|
*Impact* +
|
|
The `enabled` setting for `_field_names` should be removed from templates and mappings.
|
|
Disabling _field_names is not necessary because it no longer carries a large index overhead.
|
|
====
|
|
|
|
[[mapping-boosts]]
|
|
.The `boost` parameter on field mappings has been removed
|
|
[%collapsible]
|
|
====
|
|
*Details* +
|
|
Index-time boosts have been deprecated since the 5x line, but it was still possible
|
|
to declare field-specific boosts in the mappings. This is now removed completely.
|
|
Indexes built in 7x that contain mapping boosts will emit warnings, and the boosts
|
|
will have no effect in 8.0. New indexes will not permit boosts to be set in their
|
|
mappings at all.
|
|
|
|
*Impact* +
|
|
The `boost` setting should be removed from templates and mappings. Use boosts
|
|
directly on queries instead.
|
|
====
|
|
|
|
//tag::notable-breaking-changes[]
|
|
.Java-time date formats replace joda-time formats
|
|
[%collapsible]
|
|
====
|
|
*Details* +
|
|
In 7.0, {es} switched from joda time to java time for date-related parsing,
|
|
formatting, and calculations. Indices created in 7.0 and later versions are
|
|
already required to use mappings with java-time date formats. However,
|
|
earlier indices using joda-time formats must be reindexed to use
|
|
mappings with java-time formats.
|
|
|
|
*Impact* +
|
|
For a detailed migration guide, see the {ref}/migrate-to-java-time.html[Java
|
|
time migration guide].
|
|
====
|
|
// end::notable-breaking-changes[]
|
|
|
|
[[geo-shape-strategy]]
|
|
.The `strategy` parameter on `geo_shape` mappings now rejects unknown strategies
|
|
[%collapsible]
|
|
====
|
|
*Details* +
|
|
The only permissible values for the `strategy` parameter on `geo_shape` mappings
|
|
are `term` and `recursive`. In 7.x if a non-permissible value was used as a
|
|
parameter here, the mapping would silently fall back to using `recursive`. The
|
|
mapping will now be rejected instead.
|
|
|
|
*Impact* +
|
|
This will have no impact on existing mappings created with non-permissible
|
|
strategy values, as they will already be serializing themselves as if they
|
|
had been configured as `recursive`. New indexes will need to use one of the
|
|
permissible strategies, or preferably not define a strategy at all and use
|
|
the far more efficient BKD index.
|
|
====
|