我正在使用Elasticsearch的Typescript客户端,并且在尝试更新文档时:
import { RequestParams } from '@elastic/elasticsearch' const updateParam: RequestParams.Update = { id: '111', index: 'myIndex', body: {email: 'aaa@aa.ca'}, } 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/zh- CN/elasticsearch/client/javascript-api/current/api- reference.html#_update,id是输入中的字段
id
我的请求参数出了什么问题?
此“ id”不是文档内容中的字段。它与“ index”和“ type”一样。更新一个文档时,您无法更改索引的名称和类型,因此您无法更改一个文档的id。是文档的标识。但是,如果您有一个名为“ id”的字段,则可以像这样进行更新。