我必须使用elasticsearch
更新python
中的字段。 Elasticsearch
是我可以使用的password enabled
'-u'。
例:Elasticsearch
中要更新的字段是'reservestatus'
应该从查询更新为打开
如果是search_timestamp-current_timestamp>10 mins
(search_timestamp
是我要在elasticsearch
中添加的字段)。
我对此并不陌生,任何线索都将不胜感激。
谢谢
最佳答案
如果我正确理解了您的问题,则需要执行以下两个步骤:首先,获取要更新的所有文档,然后更新它们。
要获取文档,请使用搜索功能。试试这个:
body= {
"query": {
"range": {
"search_timestamp": {
"gte": "now-10m"
}
}
}
}
res = client.search(index="YourIndexName", body=body)
然后遍历结果,获取每个文档的ID并更新:
for doc in res['hits']['hits']:
doc_id = doc._id
body = {
"doc" : {
"reservestatus": "open"
}
}
client.update(index="YourIndexName", id=doc_id, body=body)
如果要提高性能,可以使用bulk API。
关于python - python elasticsarch集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62198469/