Elasticsearch の Typescript クライアントを使用しており、ドキュメントを更新しようとすると次のようになります。
import { RequestParams } from '@elastic/elasticsearch'
const updateParam: RequestParams.Update = {
id: '111',
index: 'myIndex',
body: {email: '[email protected]'},
}
return elasticsearchClient.update(updateParam)
次のようなエラーが表示されます:
{
"error": {
"root_cause": [
{
"type": "x_content_parse_exception",
"reason": "[1:2] [UpdateRequest] unknown field [id], parser not found"
}
],
"type": "x_content_parse_exception",
"reason": "[1:2] [UpdateRequest] unknown field [id], parser not found"
},
"status": 400
}
しかし、ここにある文書によると:https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html#_updateはid
入力フィールドです
リクエストパラメータに何が問題なのでしょうか?
ベストアンサー1
結局、RequestParams.Update は次のようになります。
const updateParam: RequestParams.Update = {
id: '111',
index: 'myIndex',
body: {doc:{email: '[email protected]'}},
}
したがって、実際のデータは「doc」フィールドでラップされる必要があります。github のライブラリに PR を作成します... ドキュメントだけでは、人々がそれを理解できるはずがありません。