WARNING: Version 1.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 1.4
editBreaking changes in 1.4
editThis section discusses the changes that you need to be aware of when migrating your application from Elasticsearch 1.x to Elasticsearch 1.4.
Percolator
editIn indices created with version 1.4.0
or later, percolation queries can only
refer to fields that already exist in the mappings in that index. There are
two ways to make sure that a field mapping exist:
- Add or update a mapping via the create index or put mapping apis.
- Percolate a document before registering a query. Percolating a document can add field mappings dynamically, in the same way as happens when indexing a document.
Aliases
editAliases can include filters which
are automatically applied to any search performed via the alias.
Filtered aliases created with version 1.4.0
or later can only
refer to field names which exist in the mappings of the index (or indices)
pointed to by the alias.
Add or update a mapping via the create index or put mapping apis.
Indices APIs
editThe get warmer api will return a section for warmers
even if there are
no warmers. This ensures that the following two examples are equivalent:
curl -XGET 'http://localhost:9200/_all/_warmers' curl -XGET 'http://localhost:9200/_warmers'
The get alias api will return a section for aliases
even if there are
no aliases. This ensures that the following two examples are equivalent:
curl -XGET 'http://localhost:9200/_all/_aliases' curl -XGET 'http://localhost:9200/_aliases'
The get mapping api will return a section for mappings
even if there are
no mappings. This ensures that the following two examples are equivalent:
curl -XGET 'http://localhost:9200/_all/_mappings' curl -XGET 'http://localhost:9200/_mappings'
Bulk UDP
editBulk UDP has been deprecated and will be removed in 2.0. You should use the standard bulk API instead. Each cluster must have an elected master node in order to be fully operational. Once a node loses its elected master node it will reject some or all operations.
Zen discovery
editOn versions before 1.4.0.Beta1
all operations are rejected when a node loses its elected master. From 1.4.0.Beta1
only write operations will be rejected by default. Read operations will still be served based on the information available
to the node, which may result in being partial and possibly also stale. If the default is undesired then the
pre 1.4.0.Beta1
behaviour can be enabled, see: no-master-block
More Like This Field
editThe More Like This Field query has been deprecated in favor of the More Like This Query
restrained set to a specific field
. It will be removed in 2.0.
MVEL is deprecated
editGroovy is the new default scripting language in Elasticsearch, and is enabled in sandbox
mode
by default. MVEL has been removed from core, but is available as a plugin:
https://github.com/elasticsearch/elasticsearch-lang-mvel