123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- [[breaking_50_rest_api_changes]]
- === REST API changes
- ==== id values longer than 512 bytes are rejected
- When specifying an `_id` value longer than 512 bytes, the request will be
- rejected.
- ==== `/_optimize` endpoint removed
- The deprecated `/_optimize` endpoint has been removed. The `/_forcemerge`
- endpoint should be used in lieu of optimize.
- The `GET` HTTP verb for `/_forcemerge` is no longer supported, please use the
- `POST` HTTP verb.
- ==== Index creation endpoint only accepts `PUT`
- It used to be possible to create an index by either calling `PUT index_name`
- or `POST index_name`. Only the former is now supported.
- ==== `HEAD {index}/{type}` replaced with `HEAD {index}/_mapping/{type}`
- The endpoint for checking whether a type exists has been changed from
- `{index}/{type}` to `{index}/_mapping/{type}` in order to prepare for the
- removal of types when `HEAD {index}/{id}` will be used to check whether a
- document exists in an index. The old endpoint will keep working until 6.0.
- ==== Removed `mem` section from `/_cluster/stats` response
- The `mem` section contained only the `total` value, which was actually the
- memory available throughout all nodes in the cluster. The section contains now
- `total`, `free`, `used`, `used_percent` and `free_percent`.
- ==== Revised node roles aggregate returned by `/_cluster/stats`
- The `client`, `master_only`, `data_only` and `master_data` fields have been
- removed in favor of `master`, `data`, `ingest` and `coordinating_only`. A
- node can contribute to multiple counts as it can have multiple roles. Every
- node is implicitly a coordinating node, so whenever a node has no explicit
- roles, it will be counted as coordinating only.
- ==== Removed shard `version` information from `/_cluster/state` routing table
- We now store allocation id's of shards in the cluster state and use that to
- select primary shards instead of the version information.
- ==== Node roles are not part of node attributes anymore
- Node roles are now returned in a specific section, called `roles`, as part of
- nodes stats and nodes info response. The new section is an array that holds all
- the different roles that each node fulfills. In case the array is returned
- empty, that means that the node is a coordinating only node.
- ==== Forbid unquoted JSON
- Previously, JSON documents were allowed with unquoted field names, which isn't
- strictly JSON and broke some Elasticsearch clients. If documents were already
- indexed with unquoted fields in a previous vesrion of Elasticsearch, some
- operations may throw errors. To accompany this, a commented out JVM option has
- been added to the `jvm.options` file:
- `-Delasticsearch.json.allow_unquoted_field_names`.
- Note that this option is provided solely for migration purposes and will be
- removed in Elasticsearch 6.0.0.
- ==== Analyze API changes
- The `filters` and `char_filters` parameters have been renamed `filter` and `char_filter`.
- The `token_filters` parameter has been removed. Use `filter` instead.
- ==== `DELETE /_query` endpoint removed
- The `DELETE /_query` endpoint provided by the Delete-By-Query plugin has been
- removed and replaced by the <<docs-delete-by-query,Delete By Query API>>.
- ==== Create stored script endpoint removed
- The `PUT /_scripts/{lang}/{id}/_create` endpoint that previously allowed to create
- indexed scripts has been removed. Indexed scripts have been replaced
- by <<modules-scripting-stored-scripts,stored scripts>>.
- ==== Create stored template endpoint removed
- The `PUT /_search/template/{id}/_create` endpoint that previously allowed to create
- indexed template has been removed. Indexed templates have been replaced
- by <<pre-registered-templates, Pre-registered templates>>.
- ==== Remove properties support
- Some REST endpoints (e.g., cluster update index settings) supported detecting content in the Java
- properties format (line-delimited key=value pairs). This support has been removed.
- ==== `wait_for_relocating_shards` is now `wait_for_no_relocating_shards` in `/_cluster/health`
- The `wait_for_relocating_shards` parameter that used to take a number is now simply a boolean
- flag `wait_for_no_relocating_shards`, which if set to true, means the request will wait (up
- until the configured timeout) for the cluster to have no shard relocations before returning.
- Defaults to false, which means the operation will not wait.
|