как добавить значение к массиву в Java - PullRequest
1 голос
/ 20 июня 2019

У меня есть документ ES, который также содержит массив

{"uuid":"123","userList":["1","2"]}

Я хочу обновить массив userList и добавить еще один элемент, например "3", в elasticsearch 1.6 Я сделал это примерно так, и это сработало

client.prepareUpdate(indexName, typename, uuid)
            .setScript("ctx._source.userList += '" + value + "'", ScriptService.ScriptType.INLINE))

но теперь я обновился доasticsearch 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 not object

type mismatch;
[error]  found   : Map[String,Any]    (in scala.collection.mutable) 
[error]  required: Map[String,Object] (in java.util) 

как я могу использовать его здесь, и будет ли так работать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...