93 lines
3.5 KiB
Plaintext
93 lines
3.5 KiB
Plaintext
[[breaking-changes-1.4]]
|
|
== Breaking changes in 1.4
|
|
|
|
This section discusses the changes that you need to be aware of when migrating
|
|
your application from Elasticsearch 1.x to Elasticsearch 1.4.
|
|
|
|
[float]
|
|
=== Percolator
|
|
|
|
In 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 <<indices-create-index,create index>> or
|
|
<<indices-put-mapping,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.
|
|
|
|
[float]
|
|
=== Aliases
|
|
|
|
<<indices-aliases,Aliases>> can include <<query-dsl,filters>> which
|
|
are automatically applied to any search performed via the alias.
|
|
<<filtered,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 <<indices-create-index,create index>> or
|
|
<<indices-put-mapping,put mapping>> apis.
|
|
|
|
[float]
|
|
=== Indices APIs
|
|
|
|
The get warmer api will return a section for `warmers` even if there are
|
|
no warmers. This ensures that the following two examples are equivalent:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
curl -XGET 'http://localhost:9200/_all/_warmers'
|
|
|
|
curl -XGET 'http://localhost:9200/_warmers'
|
|
--------------------------------------------------
|
|
|
|
The <<alias-retrieving, get alias api>> will return a section for `aliases` even if there are
|
|
no aliases. This ensures that the following two examples are equivalent:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
curl -XGET 'http://localhost:9200/_all/_aliases'
|
|
|
|
curl -XGET 'http://localhost:9200/_aliases'
|
|
--------------------------------------------------
|
|
|
|
The <<indices-get-mapping, get mapping api>> will return a section for `mappings` even if there are
|
|
no mappings. This ensures that the following two examples are equivalent:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
curl -XGET 'http://localhost:9200/_all/_mappings'
|
|
|
|
curl -XGET 'http://localhost:9200/_mappings'
|
|
--------------------------------------------------
|
|
|
|
[float]
|
|
=== Bulk UDP
|
|
|
|
Bulk UDP has been deprecated and will be removed in 2.0.
|
|
You should use <<docs-bulk,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.
|
|
|
|
[float]
|
|
=== Zen discovery
|
|
|
|
On 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: <<modules-discovery-zen,no-master-block>>
|
|
|
|
[float]
|
|
=== More Like This Field
|
|
|
|
The More Like This Field query has been deprecated in favor of the <<query-dsl-mlt-query, More Like This Query>>
|
|
restrained set to a specific `field`. It will be removed in 2.0.
|
|
|
|
[float]
|
|
=== MVEL is deprecated
|
|
|
|
Groovy 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
|