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

32 lines
1.6 KiB
Plaintext

[[breaking_60_mappings_changes]]
=== Mapping changes
==== Coercion of boolean fields
Previously, Elasticsearch recognized the strings `true`, `false`, `on`, `off`, `yes`, `no`, `0`, `1` as booleans. Elasticsearch 6.0
recognizes only `true` and `false` as boolean and will throw an error otherwise. For backwards compatibility purposes, during the 6.x
series the previous coercion rules will continue to work on pre-6.0 indices. This means that you do not need to change affected existing
mappings immediately. However, it is not possible to create new indices from existing index templates that violate the strict `boolean`
coercion rules.
==== The `_all` meta field is now disabled by default
On new mappings, the `_all` meta field that contains a copy of the text from
each field is now disabled by default. The `query_string` and
`simple_query_string` queries that previously used `_all` to search will now
check if `_all` is enabled/disabled and switch to executing the query across all
fields if `_all` is disabled. `_all` can no longer be configured for indices
created with Elasticsearch version 6.0 or later.
==== The `include_in_all` mapping parameter is now disallowed
Since the `_all` field is now disabled by default and cannot be configured for
indices created with Elasticsearch 6.0 or later, the `include_in_all` setting is
now disallowed for these indices' mappings.
==== Unrecognized `match_mapping_type` options not silently ignored
Previously Elastiscearch would silently ignore any dynamic templates that
included a `match_mapping_type` type that was unrecognized. An exception is now
thrown on an unrecognized type.