OpenSearch/docs/reference/migration/migrate_7_0/mappings.asciidoc

120 lines
4.3 KiB
Plaintext

[discrete]
[[breaking_70_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[]
[discrete]
[[all-meta-field-removed]]
==== The `_all` metadata field is removed
The `_all` field deprecated in 6 have now been removed.
[discrete]
[[uid-meta-field-removed]]
==== The `_uid` metadata field is removed
This field used to index a composite key formed of the `_type` and the `_id`.
Now that indices cannot have multiple types, this has been removed in favour
of `_id`.
//tag::notable-breaking-changes[]
[discrete]
[[default-mapping-not-allowed]]
==== The `_default_` mapping is no longer allowed
The `_default_` mapping has been deprecated in 6.0 and is now no longer allowed
in 7.0. Trying to configure a `_default_` mapping on 7.x indices will result in
an error.
If an index template contains a `_default_` mapping, it will fail to create new
indices. To resolve this issue, the `_default_` mapping should be removed from
the template. Note that in 7.x, the <<indices-get-template, get template API>>
does not show the `_default_` mapping by default, even when it is defined in
the mapping. To see all mappings in the template, the `include_type_name`
parameter must be supplied:
```
GET /_template/my_template?include_type_name
```
For more details on the `include_type_name` parameter and other types-related
API changes, please see <<removal-of-types>>.
//end::notable-breaking-changes[]
[discrete]
[[index-options-numeric-fields-removed]]
==== `index_options` for numeric fields has been removed
The `index_options` field for numeric fields has been deprecated in 6 and has now been removed.
[discrete]
[[limit-number-nested-json-objects]]
==== Limiting the number of `nested` json objects
To safeguard against out of memory errors, the number of nested json objects within a single
document across all fields has been limited to 10000. This default limit can be changed with
the index setting `index.mapping.nested_objects.limit`.
[discrete]
[[update-all-types-option-removed]]
==== The `update_all_types` option has been removed
This option is useless now that all indices have at most one type.
[discrete]
[[classic-similarity-removed]]
==== The `classic` similarity has been removed
The `classic` similarity relied on coordination factors for scoring to be good
in presence of stopwords in the query. This feature has been removed from
Lucene, which means that the `classic` similarity now produces scores of lower
quality. It is advised to switch to `BM25` instead, which is widely accepted
as a better alternative.
[discrete]
==== Similarities fail when unsupported options are provided
An error will now be thrown when unknown configuration options are provided
to similarities. Such unknown parameters were ignored before.
[discrete]
[[changed-default-geo-shape-index-strategy]]
==== Changed default `geo_shape` indexing strategy
`geo_shape` types now default to using a vector indexing approach based on Lucene's new
`LatLonShape` field type. This indexes shapes as a triangular mesh instead of decomposing
them into individual grid cells. To index using legacy prefix trees the `tree` parameter
must be explicitly set to one of `quadtree` or `geohash`. Note that these strategies are
now deprecated and will be removed in a future version.
IMPORTANT NOTE: If using timed index creation from templates, the `geo_shape` mapping
should also be changed in the template to explicitly define `tree` to one of `geohash`
or `quadtree`. This will ensure compatibility with previously created indexes.
[discrete]
[[deprecated-geo-shape-params]]
==== Deprecated `geo_shape` parameters
The following type parameters are deprecated for the `geo_shape` field type: `tree`,
`precision`, `tree_levels`, `distance_error_pct`, `points_only`, and `strategy`. They
will be removed in a future version.
[discrete]
==== Limiting the number of completion contexts
The maximum allowed number of completion contexts in a mapping will be limited
to 10 in the next major version. Completion fields that define more than 10
contexts in a mapping will log a deprecation warning in this version.
[discrete]
[[include-type-name-defaults-false]]
==== `include_type_name` now defaults to `false`
The default for `include_type_name` is now `false` for all APIs that accept
the parameter.