Elasticsearch がドキュメントのバージョン管理機能を備えていることを発見しました。素晴らしい!本当に。
しかし、ドキュメントの異なるバージョンを比較し、すべての違いを抽出するための正しいアプローチは何でしょうか。利用可能なクエリはありますか、それともビジネスロジックでそれを行う必要がありますか?
Elasticsearch がドキュメントのバージョン管理機能を備えていることを発見しました。素晴らしい!本当に。
しかし、ドキュメントの異なるバージョンを比較し、すべての違いを抽出するための正しいアプローチは何でしょうか。利用可能なクエリはありますか、それともビジネスロジックでそれを行う必要がありますか?
デフォルトでは、elasticsearch はフィールド内のインデックス付きドキュメントのバージョンを追跡します_version
。つまり、最初にドキュメントをインデックス化するとバージョン 1 が取得され、更新するたびにバージョンがインクリメントされます。
これは、elasticsearch がドキュメントのすべてのバージョンを保持するという意味ではありません。
このバージョンは、楽観的ロックを実行する必要がある場合に特に便利です。ドキュメントを取得し、それを更新したいとしましょう。同時更新によって生成された可能性のある他のバージョンではなく、同じバージョンのドキュメントを更新していることを確認できます (取得と更新の間に発生した可能性があります)。 .
詳細については、このブログをご覧になり、実際にご覧ください。