java - Elasticsearch - 如何使用 Java 在 JSON 对象中添加或编辑字符串数组?
问题描述
我在 Java 中分别有用户 ID、名称和类型变量作为 int、string 和 arraylist。我想像这样将它插入到弹性搜索数据库中:-
users
{
"userid": 5,
"name": "test",
"type": ["U1", "U2"]
}
1)如何使用Java客户端(高级API)实现这一点?
2)如何附加到“类型”字段(假设它存在)?
示例:我想将“U3”添加到“类型”字段中,这样它就变成了这样
users
{
"userid": 5,
"name": "test",
"type": ["U1", "U2", "U3"]
}
解决方案
您可以使用脚本向数组添加值。
POST /users/_update/5
{
"script" : {
"source": "ctx._source.type.add(params.type)",
"lang": "painless",
"params" : {
"type" : "U3"
}
}
}
从那里获取:https ://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html
我不知道如何使用高级 API java 客户端,对不起。
推荐阅读
- json - Ansible from_json 过滤不返回输出
- ios - 在自定义单元格的 tableView(_:cellForRowAt:) 中以编程方式添加标签
- java - 在 Java 8 中使用先前链接的 thenCompose lambdas 中的值
- php - 如何检查数组下一个索引是否存在于php中?
- rust - 如何递归地遵循自引用 Rc?
- gatsby - 带有 gatsby 图像的 Airtable gatsby 源插件
- javascript - Javascript:创建一个变量然后在提示中使用它
- css - 如何正确使用 CSS 3D Transform 创建“全景网格”?
- javascript - 用 Axios 承诺一切
- css - CSS:响应式 UL/LI