WARNING: Version 5.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.
Document API changes
editDocument API changes
edit?refresh
no longer supports truthy and falsy values
editThe ?refresh
request parameter used to accept any value other than false
,
0
, off
, and no
to mean "make the changes from this request visible for
search immediately." Now it only accepts ?refresh
and ?refresh=true
to
mean that. You can set it to ?refresh=false
and the request will take no
refresh-related action. The same is true if you leave refresh
off of the
url entirely. If you add ?refresh=wait_for
Elasticsearch will wait for the
changes to become visible before replying to the request but won’t take any
immediate refresh related action. See ?refresh
.
created
field deprecated in the Index API
editThe created
field has been deprecated in the Index API. It now returns
result
, returning "result": "created"
when it created a document and
"result": "updated"
when it updated the document. This is also true for
index
bulk operations.
found
field deprecated in the Delete API
editThe found
field has been deprecated in the Delete API. It now returns
result
, returning "result": "deleted"
when it deleted a document and
"result": "not_found"
when it didn’t find the document. This is also true for
delete
bulk operations.
Reindex and Update By Query
editBefore 5.0.0 _reindex
and _update_by_query
only retried bulk failures so
they used the following response format:
{ ... "retries": 10 ... }
Where retries
counts the number of bulk retries. Now they retry on search
failures as well and use this response format:
{ ... "retries": { "bulk": 10, "search": 1 } ... }
Where bulk
counts the number of bulk retries and search
counts the number
of search retries.
get API
editAs of 5.0.0 the get API will issue a refresh if the requested document has
been changed since the last refresh but the change hasn’t been refreshed yet. This
will also make all other changes visible immediately. This can have an impact on
performance if the same document is updated very frequently using a read modify update
pattern since it might create many small segments. This behavior can be disabled by
passing realtime=false
to the get request.
The fields
field has been renamed to stored_fields
mget API
editThe fields
field has been renamed to stored_fields
update API
editThe fields
field has been deprecated. You should use _source
to load the field from _source.
bulk API
editThe fields
field has been deprecated. You should use _source
to load the field from _source.