繁体   English   中英

如何使用python批量更新elasticsearch中的单个字段

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM