WARNING: Version 2.4 of Elasticsearch has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Breaking changes in 2.3
editBreaking changes in 2.3
editThis section discusses the changes that you need to be aware of when migrating your application to Elasticsearch 2.3.
REST API
editCORS support broken in 2.3.0 and 2.3.1
editA change to the CORS implementation means that CORS support for pre-flight
OPTIONS
requests is broken in 2.3.0 and 2.3.1. This is fixed in 2.3.2.
Mappings
editLimit to the number of nested
fields
editIndexing a document with 100 nested fields actually indexes 101 documents as each nested
document is indexed as a separate document. To safeguard against ill-defined mappings
the number of nested fields that can be defined per index has been limited to 50.
This default limit can be changed with the index setting index.mapping.nested_fields.limit
.
Note that the limit is only checked when new indices are created or mappings are updated. It
will thus only affect existing pre-2.3 indices if their mapping is changed.
Scripting
editGroovy dependencies
editIn previous versions of Elasticsearch, the Groovy scripting capabilities
depended on the org.codehaus.groovy:groovy-all
artifact. In addition
to pulling in the Groovy language, this pulls in a very large set of
functionality, none of which is needed for scripting within
Elasticsearch. Aside from the inherent difficulties in managing such a
large set of dependencies, this also increases the surface area for
security issues. This dependency has been reduced to the core Groovy
language org.codehaus.groovy:groovy
artifact.
Analyze API changes
editThe deprecated filters
/token_filters
/char_filters
parameter has been
renamed filter
/token_filter
/char_filter
.
And filters
/token_filters
/char_filters
has been removed in 5.0.0