java - 如何将值附加到elasticsearch java api中的数组
问题描述
我有一个 ES 文档,其中也包含一个数组
{"uuid":"123","userList":["1","2"]}
我想更新 userList 数组并添加另一个像“3”这样的元素elasticsearch 1.6
我做了这样的事情并且它有效
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
不是object
type mismatch;
[error] found : Map[String,Any] (in scala.collection.mutable)
[error] required: Map[String,Object] (in java.util)
我怎么能在这里使用它也可以这样工作吗?
解决方案
推荐阅读
- google-cloud-platform - 如何安排从 BigQuery 表到 Cloud Storage 的导出?
- android - Android Studio Gradle 任务重命名库
- c++ - 几个 Nt 函数在 Windows 7 x32 上返回 STATUS_WAIT_0
- excel - 有没有办法将 Range 变量重新分配给不同的范围?
- python - 如何在没有任何输出数据的情况下预测连续变量?我所拥有的只是输入数据
- lets-encrypt - Lets-encrypt 错误:HTTP-01 飞行前/试运行失败
- java - 基于可用资源的线程池/执行器
- c++ - C++ 成员变量类 Q_PROPERTY 在 QML 中不可用
- swift - 在 PencilKit 中获取 PKDrawing / 单个笔画的边界
- python - 在我的函数中获取“TypeError:不能在类似字节的对象上使用字符串模式”。我正在尝试将 MAC 地址打印到屏幕上