'no handler found for uri [<index>/_doc/<document_id>/_update] and method [POST]

Currently, i am using client go-elasticsearch version v7.8.0 and elastic of version 8.1.2. the elastic search got updated from version 7.x

Now when I try to update the document it fails with the following error.

There are some stackoverflow answer i came through like this one but didn't help

api_platform produces Error "no handler found for uri [/index/_doc/_search] and method [POST]"

elasticsearch response on failure while updating- {"error":"no handler found for uri [/<index>/_doc/<doc_id>/_update?retry_on_conflict=2] and method [POST]"

Sample query for update:

{"doc":{"info":{"description":"test description","slug":"test"}}}


Solution 1:[1]

You cannot use a Go client for 7.8.0 with and Elasticsearch server 8.1.2, they are not compatible. You need to upgrade your Go client to the same 8.1 version

Solution 2:[2]

Please try use the endpoint /{index}/_update/{id} instead. The one you used is deprecated and removed in 8.1.

Reference:

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html#docs-update-api-request

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Val
Solution 2 user16434802