Python3 使用 Elasticsearch Painless 脚本批量更新数据
本文介绍如何利用 Python3 结合 Elasticsearch 的 Painless 脚本语言实现数据批量更新。通过构造包含查询条件与更新逻辑的请求体,调用 update_by_query 接口,可高效对指定时间范围或 ID 的数据进行字段修改。
Python3 实现 Elasticsearch 批量更新
直接展示核心实现代码。
Painless 脚本更新示例
updateBody = {
"query":{
"range":{
"write_date": {
"gte": "2019-01-15 12:30:17",
"lte": "now"
}
}
},
"script": {
"inline": "ctx._source.index = params.index",
"params": {
"index": 211
},
"lang":"painless"
}
}
es_client.update_by_query(index="log_index",doc_type='log_index',body=updateBody)
更新注意事项
需要注意的是,批量更新操作支持基于文档 ID 进行精准更新。
在使用 Elasticsearch 进行脚本更新时,必须使用其专用的 Painless 语言。
以上即为 Python3 实现 Elasticsearch 批量更新数据的具体方法,供参考使用。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













