我想使用 java api 部分更新弹性搜索中的文档。我的 ES 映射如下所示:
“映射”:{
"DOC_TYPE": {
"properties": {
"FieldA": {
"type": "long"
},
"FieldB": {
"type": "long"
},
"FieldC": {
"type": "long"
}
}
}
我想更新 FieldA 的值。同样,我使用以下逻辑:
注意:地图包含要更新的值。它的类型是 <String,Object>
UpdateRequest updateRequest = new UpdateRequest() .doc(map, XContentType.JSON);
Update.Builder builder = new Update.Builder(update).index("INDEX_NAME").type("DOC_TYPE").id("id");
client.execute(builder.build());
但我收到错误:{"error":{"root_cause":[{"type":"action_request_validation_exception","reason":"Validation Failed: 1: script or doc is missing;"}]
我无法弄清楚我哪里出错了,因为我已经在我的请求中添加了文档。
注意:我在这里使用 JEST 客户端。 是否可以通过 Jest Client 部分更新文档?