OpenSearch: Версионирование документов и общие проблемы

Версия соответствует встроенной в OpenSearch системе слежения, которая отслеживает изменения при обновлении каждого документа. Когда документ индексируется впервые, ему присваивается версия 1 с помощью ключа _version. При последующем обновлении этого же документа версия _version увеличивается на 1 при каждом вызове API-индекса, обновления или удаления.

OpenSearch logo

Для чего используется

Версия используется для решения проблемы параллелизма в OpenSearch, возникающей при одновременном обращении к индексу нескольких пользователей. OpenSearch решает эту проблему с помощью оптимистической концепции блокировки, используя параметр _version, что позволяет избежать одновременного редактирования одного и того же документа несколькими пользователями и защищает пользователей от генерации некорректных данных.

Примечания

С помощью _version нельзя просмотреть историю документа. Это означает, что OpenSearch не использует _version для отслеживания первоначальных изменений, которые были сделаны в документе. Например, если документ обновлялся 10 раз, то его _version будет отмечена OpenSearch как 11, но вы не сможете вернуться назад и посмотреть, как выглядела 5-я версия документа. Это необходимо реализовать самостоятельно.

Общие проблемы

Если при обновлении документа не реализована оптимистическая блокировка, OpenSearch может вернуть ошибку конфликта с кодом состояния 409, означающую, что несколько пользователей одновременно пытаются обновить одну и ту же версию документа.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий