【发布时间】:2021-10-22 00:47:02
【问题描述】:
假设我有一个具有 field emp_id 的 Elasticsearch 索引员工,并且我错误地将文档保存为 emp_id=1 而不是 emp_id=2 并且emp_id=2 而不是 emp_id=1。
关于索引员工的示例文档
[
{
"emp_id": "1",
"name": "aaaa"
},
{
"emp_id": "2",
"name": "bbbb"
},
{
"emp_id": "3",
"name": "cccc"
},
{
"emp_id": "4",
"name": "dddd"
}
]
现在我想将所有文档的 emp_id 值从 emp_id=1 更改/更新为 emp_id=2 并更改 emp_id=2 emp_id=1 使用 Elasticsearch 查询。
所以上述文件应该像这样更改/更新:
[
{
"emp_id": "2",
"name": "aaaa"
},
{
"emp_id": "1",
"name": "bbbb"
},
{
"emp_id": "3",
"name": "cccc"
},
{
"emp_id": "4",
"name": "dddd"
}
]
注意: emp_id = 1,2,3,4 都存在于同一个索引中。我只想交换和迁移 emp_id 1 和 2 的值,而不影响索引中的其他文档。
如何在 Elasticsearch 中以原子方式执行此操作?
任何帮助将不胜感激。提前致谢!
【问题讨论】:
标签: elasticsearch elasticsearch-dsl