| 读取 | GET /<index>/_doc/<id> 响应里带 _seq_no 与 _primary_term |
|---|---|
| 条件写 | PUT 或 _update 加 ?if_seq_no=N&if_primary_term=M |
| 冲突结果 | 版本不匹配返回 409 version_conflict_engine_exception |
示例
示例
GET /my-index/_doc/1
PUT /my-index/_doc/1?if_seq_no=5&if_primary_term=2
{ "title": "updated with conflict check" }
# 部分更新也支持
POST /my-index/_update/1?if_seq_no=6&if_primary_term=2
{ "doc": { "views": 15 } }这是乐观锁:先读到版本号再提交,提交时校验;失败的一方重读重试,而不是先锁住文档。