[英]How to bulk update a single field in elasticsearch using python
如何在弹性搜索中执行单个字段批量更新。 目前,我正在尝试使用辅助功能,如下所示,
from elasticsearch import Elasticsearch, helpers
for doc in collection_1:
try:
uid = int(doc["uid"])
k.append({
"_index": "col1",
"_type" : "col1",
"_id" : uid,
"_source": doc
})
except Exception as err:
print(err)
helpers.bulk(es, k)
ES版本:2.4
请显示您的导入和您的 Elasticsearch 版本。 此外,您的代码缺少对collection1
变量的引用。 如果你想使用批量助手,你应该遵循python 批量助手文档中描述的语法。
您应在正文中指定一个字段_op_type
并将其设置为update
,然后传递您的部分文档。
您可以使用脚本来更新必填字段而不是所有 _source 文档
"script": {
"source": "ctx._source.datetime2=new Date((long)(ctx._source.creationDate+12600000));"
,"lang": "painless"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.