Предположим, у меня есть миллион объектов, которые мне нужно сохранить в ElasticSearch.Одно из требований сохранения объектов заключается в том, что его можно искать только после того, как все элементы были сохранены - в противном случае результаты (связанные с количеством и суммой различных свойств сохраненных объектов - например, финансовые расчеты) будутбыть неправым.
Вот код, который мне в настоящее время требуется для сохранения объектов:
from elasticsearch import Elasticsearch, helpers
ACTIONS = []
for item in HISTORY_DATA.values():
ACTIONS.append({
"_index": ES_INDEX_NAME,
"_type": "_doc",
"_id": item.pop('_id'),
"_source": item
})
_ = helpers.bulk(self.es, ACTIONS)
Как я могу сохранить 20 тыс. Объектов одновременно, но «зафиксировать» транзакцию только после того, как все элементы былиспасен?Или, если мне придется сохранить «все сразу», как я это сделаю?