一尘不染

elasticsearch更新给出未知字段错误

elasticsearch

我正在使用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是输入中的字段

我的请求参数出了什么问题?


阅读 3365

收藏
2020-06-22

共1个答案

一尘不染

此“ id”不是文档内容中的字段。它与“ index”和“
type”一样。更新一个文档时,您无法更改索引的名称和类型,因此您无法更改一个文档的id。是文档的标识。但是,如果您有一个名为“
id”的字段,则可以像这样进行更新。

2020-06-22