ElasticSearch 根据version_type并发控制

本文介绍了如何使用ElasticSearch的version_type进行并发控制,重点在于理解version_type=external的机制。在更新记录时,可以通过设置?version=你的判断值(例如5)与version_type=external配合,确保只有version小于或等于指定值的记录才能成功更新,否则操作将失败。案例展示中,多次尝试更新同一条记录会触发错误,以此确保数据一致性。
摘要由CSDN通过智能技术生成

结论

通过自己设置一个外部值来判断当前记录的新旧状态,比如你想要version<=5的才进行更新,否则返回失败
?version=5&version_type=external
version_type=external代表你要用外部的值进行判断
version=你的判断值

案例

步骤1:第一次假设原数据version<=5,会返回成功,同时可以看到返回值_version会变成5
website/blog/1?version=5&version_type=external
    {
      "title": "My first external blog entry",
      "text":  "Starting to get the hang of this..."
    }
 返回值
    {
        "_index": "website",
        "_type": "blog",
        "_id": "1",
        "_version": 5,
        "result": "updated",
        "_shards": {
            "total": 2,
            "successful": 1,
            "failed": 0
        },
        "_seq_no": 4,
        "_primary_term": 1
    }

你再请求一次,会报错

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值