| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | [[breaking-changes-1.4]]== Breaking changes in 1.4This section discusses the changes that you need to be aware of when migratingyour application from Elasticsearch 1.x to Elasticsearch 1.4.[float]=== PercolatorIn indices created with version `1.4.0` or later, percolation queries can onlyrefer to fields that already exist in the mappings in that index. There aretwo 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>> whichare automatically applied to any search performed via the alias.<<filtered,Filtered aliases>> created with version `1.4.0` or later can onlyrefer 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 APIsThe <<warmer-retrieving, get warmer api>> will return a section for `warmers` even if there areno 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 areno 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 areno 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 UDPBulk 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 masternode it will reject some or all operations.[float]=== Zen discoveryOn 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 availableto the node, which may result in being partial and possibly also stale. If the default is undesired then thepre `1.4.0.Beta1` behaviour can be enabled, see: <<modules-discovery-zen,no-master-block>>[float]=== More Like This FieldThe 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 deprecatedGroovy is the new default scripting language in Elasticsearch, and is enabled in `sandbox` modeby default.  MVEL has been removed from core, but is available as a plugin:https://github.com/elasticsearch/elasticsearch-lang-mvel
 |