elasticsearch学习笔记(十五)——Elasticsearch partial update内置乐观锁并发控制

📅 2026/7/5 15:30:10
elasticsearch学习笔记(十五)——Elasticsearch partial update内置乐观锁并发控制
Elasticsearch partial update内置了乐观锁并发控制机制。同样是基于_version新版本更新为if_seq_no和if_primary_term进行乐观锁的并发控制。详细请看https://segmentfault.com/a/11...这里多提一点就是使用partial update有一个参数叫retry_on_conflict也就是可以基于retry策略:我们回顾一下之前说的乐观锁并发控制策略在高并发更新数据时它基于最新的数据和if_seq_no,if_primary_term进行修改可能这个过程会需要反复执行好几次才能成功特别是在多线程并发更新同一条数据很频繁的情况下。而partial update就是在此基础上添加了一个参数retry_on_conflict可以设置最多重复的次数。示例POST /test_index/_update/3?retry_on_conflict5 { doc: { test_field1: update test1 } } GET /test_index/_doc/3 { _index : test_index, _type : _doc, _id : 3, _version : 3, _seq_no : 2, _primary_term : 1, found : true, _source : { test_field1 : update test1, test_field2 : update test2 } }elasticsearch