我想在 elasticsearch.py(版本 7.13.1)中使用 update_by_query 更新多个文档
我的查询是:
es_query = {
"query": {
"match": {"user_id.keyword": user_id}
# "bool": {
# "must": [{"term": {"user_id": {"value": user_id}}}]
# }
},
"script": {
"source": "ctx._source.user_level = params.user_level",
"params": {
"user_level": user_level
},
"lang": "painless"
}
}
result = es.update_by_query(index='articles', doc_type='_doc', body=es_query, wait_for_completion=True,
ignore=[400, 404], conflicts='proceed', refresh='true')
我已经尝试过匹配以及必须查询,但是文档没有得到更新,没有这样的错误。
我得到的回应是这样的:
{'took': 1, 'timed_out': False, 'total': 0, 'updated': 0, 'deleted': 0, 'batches': 0, 'version_conflicts': 0, 'noops': 0, 'retries': {'bulk': 0, 'search': 0}, 'throttled_millis': 0, 'requests_per_second': -1.0, 'throttled_until_millis': 0, 'failures': []}
如果我在 Kibana 上运行相同的查询,它会按预期工作。我在这里想念什么?