我正在尝试使用 JEST 对 ElasticSearch 实施 CRUD 操作,并且我调查了一些文章,我发现执行“更新”的方法是“索引”另一个具有相同“ _id ”的文档,但我会替换整个文件以这种方式。
我想知道 JEST 是否能够进行“部分更新”?
编辑 :
我发现io.searchbox.core包中有一个更新类可能会有所帮助,但是在我尝试这个之后:
Update update = new Update.Builder(updateCameraString).index(this._IndexName).type(this._TypeName).id(id).build();
JestResult updateResult = this._JestClient.execute(update);
的内容updateCameraString
是
{"Name":"test Added into Es, update again.","CreatedAt":"","ModifiedAt":"","UniqueId":"","Note":""}
似乎一切都很好,但我会得到以下回复:
{
"error": {
"root_cause": [
{
"type": "action_request_validation_exception",
"reason": "Validation Failed: 1: script or doc is missing;"
}
],
"type": "action_request_validation_exception",
"reason": "Validation Failed: 1: script or doc is missing;"
},
"status": 400
}
任何设备都可以非常感激,谢谢!