gpt4 book ai didi

python - Elasticsearch按查询更新

转载 作者:行者123 更新时间:2023-12-03 02:20:10 24 4
gpt4 key购买 nike

我正在python中使用此代码更新我在Elasticsearch中的文档。它工作正常,但是很难用于数百万个文档,因为我每次都要初始化id值来更新每个文档。

from elasticsearch import Elasticsearch, exceptions

elasticsearch = Elasticsearch()

elasticsearch.update(index='testindex', doc_type='AAA', id='AVpwMmhnpIpyZkmdMQkT',
body={
'doc':{'Device': 'updated'}
}
)

我在Elasticsearch文档中看到它尚未包含,但:
https://www.elastic.co/guide/en/elasticsearch/reference/current/_updating_documents.html

Note that as of this writing, updates can only be performed on a single document at a time. In the future, Elasticsearch might provide the ability to update multiple documents given a query condition (like an SQL UPDATE-WHERE statement).

最佳答案

使用update_by_query(不是update)和script,您应该能够更新与查询匹配的文档。

 q = {
"script": {
"inline": "ctx._source.Device='Test'",
"lang": "painless"
},
"query": {
"match": {
"Device": "Boiler"
}
}
}

es.update_by_query(body=q, doc_type='AAA', index='testindex')

以上为我工作。 q查找与您的查询匹配的文档,脚本使用每个文档的 _source更新值。

我希望它也对您有用,可能会对您要使用的查询进行一些调整。

关于python - Elasticsearch按查询更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62588864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com