我有一个序列列表,例如1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1390
和一个sensor_pk
和record_type
。所有的序列文档都共享一个共同的sensor_pk
和record_type
。我想改变sensor_pk
一次,而不是遍历所有的序列并单独进行。下面是我在python elasticsearch_dsl
中的内容
ubq = UpdateByQuery(using=es.es, index=es.ALIAS_NAME)
query = Q('bool', filter=[
Q('term', sensor_pk=sensor_pk),
Q('terms', sequence=sequences),
Q('term', type=record_type)
])
ubb = ubq.query(query)
ubb.script(source=f'ctx._source.sensor_pk = -{sensor_pk};')
response = ubb.execute()
字符串
响应显示一切正常,但sensor_pk未更新{'took': 165, 'timed_out': False, 'total': 502, 'updated': 5...}
个
我做错了什么
1条答案
按热度按时间xnifntxz1#
我更新了代码以使用
update_by_query
字符串