update winners in one go

This commit is contained in:
Victor Shyba 2021-01-20 03:03:39 -03:00
parent 1098f0d2a3
commit 8b91b38855

View file

@ -63,14 +63,18 @@ class SearchIndex:
if not claims:
return
actions = [extract_doc(claim, self.index) for claim in claims]
names = []
for claim in claims:
if claim['is_controlling']:
update = expand_query(name=claim['claim_name'])
update['script'] = {
"source": "ctx._source.is_controlling=false",
"lang": "painless"
}
await self.client.update_by_query(self.index, body=update)
names.append(claim['normalized'])
if names:
update = expand_query(name__in=names)
update['script'] = {
"source": "ctx._source.is_controlling=false",
"lang": "painless"
}
await self.client.update_by_query(self.index, body=update)
await self.client.indices.refresh(self.index)
await async_bulk(self.client, actions)
async def delete(self, claim_ids):