Подтвердить что ты не робот

Document Versioning Elasticsearch: Как сравнить разные версии документа?

Только что обнаружил, что Elasticsearch поддерживает управление версиями документов. Потрясающие! Действительно.

Но каков правильный подход для сравнения разных версий документа и устранения всех различий. Есть ли запрос для этого, или я должен сделать это в бизнес-логике?

4b9b3361

Ответ 1

elasticsearch по умолчанию отслеживает версию проиндексированных документов в поле _version. Это означает, что при первом указании документа он получит версию 1, и каждый раз, когда вы его обновляете, его версия будет увеличиваться.

Это не значит, что elasticsearch хранит все версии документа.

Версия удобна, особенно если вам нужно выполнить оптимистичную блокировку. Скажем, вы получили документ и хотите его обновить, вы можете убедиться, что обновляете ту же версию документа, а не другие версии, которые могли быть сгенерированы параллельными обновлениями (что могло произойти между вашим get и вашим обновлением).

Вы можете посмотреть этот блог, чтобы узнать больше и увидеть его на практике.