如何在elasticsearch java api中将值附加到数组
我有一个ES文档,其中也包含一个数组如何在elasticsearch java api中将值附加到数组,java,scala,elasticsearch,Java,Scala,elasticsearch,我有一个ES文档,其中也包含一个数组 {"uuid":"123","userList":["1","2"]} 我想更新userList数组,并在elasticsearch 1.6中添加另一个类似“3”的元素。我做了类似这样的事情,结果成功了 client.prepareUpdate(indexName, typename, uuid) .setScript("ctx._source.userList += '" + value + "'", ScriptService.
{"uuid":"123","userList":["1","2"]}
我想更新userList数组,并在elasticsearch 1.6
中添加另一个类似“3”的元素。我做了类似这样的事情,结果成功了
client.prepareUpdate(indexName, typename, uuid)
.setScript("ctx._source.userList += '" + value + "'", ScriptService.ScriptType.INLINE))
但现在我升级到elasticsearch 7.1,现在我正在尝试做类似的事情,但我没有让它工作
val updateRequest = new UpdateRequest(ARTGROUP_INDEX_NAME,artGroupUuid)
val fieldName = new Script(ScriptType.INLINE,"painless", "ctx._source.userList",scala.collection.mutable.Map(fieldNameStr -> value))
updateRequest.script(fieldName)
这里的值类型是Any
notobject
type mismatch;
[error] found : Map[String,Any] (in scala.collection.mutable)
[error] required: Map[String,Object] (in java.util)
我如何在这里使用它?这种方法是否也有效