Mapping changesedit

Coercion of boolean fieldsedit

Previously, Elasticsearch recognized the strings true, false, on, off, yes, no, 0, 1 as booleans. Elasticsearch 6.0 recognizes only the strings true and false as booleans 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 defaultedit

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 disallowededit

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 ignorededit

Previously Elasticsearch 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.

Synonym Token Filteredit

In 6.0, Synonym Token Filter tokenize synonyms with whatever tokenizer and token filters appear before it in the chain.

tokenizer and ignore_case are deprecated. These parameters are still left for backwards compatibility for indices that created before 6.0. And elasticsearch ignores these properties for new indices.