我想更新一个在elasticSearch中提交的文件。我有文档的ID和新值。我不知道该怎么写脚本。我该如何提及文件编号?我写如下,但不起作用。 studentId是应更改的字段,结果是新值
UpdateResponse response = dataTransportClient.prepareUpdate(
AppSettings.ELASTIC_SERVICE_NAME,
AppSettings.ELASTIC_DB_NAME,
studentId)
.setScript(
new Script(
ScriptType.INLINE,
"painless",
"ctx._source.studentId="+result,
Collections.emptyMap()
)
)
.setRefreshPolicy(WriteRequest.RefreshPolicy.NONE)
.get();
我通过如下更改解决了我的问题:
UpdateResponse response = dataTransportClient.prepareUpdate(
AppSettings.ELASTIC_SERVICE_NAME,
AppSettings.ELASTIC_DB_NAME,
studentId)
.setScript(
new Script(
ScriptType.INLINE,
"painless",
"ctx._source.response =" + (JsonUtil.getJson(result)),
Collections.emptyMap()
)
)
.setRefreshPolicy(WriteRequest.RefreshPolicy.NONE)
.get();