ElasticSearch版本控制--java实现

本文介绍了如何在Java中实现ElasticSearch的版本控制,以处理历史和新数据的写入。通过设置`version`和`version_type`参数,确保历史数据更新和新数据插入的正确性。在验证过程中,利用时间戳作为版本比较依据,通过不同步骤验证了数据的插入和更新操作。
摘要由CSDN通过智能技术生成

一、前言

最近工作中有这样一个ElasticSearch(以下简称ES)写入的场景,Flink处理完数据实时写入ES。现在需要将一批历史数据通过Flink加载到到ES,有两个点需要保证:

  1. 对于历史数据,ES已有文档,则舍弃旧数据,ES没有则插入历史数据。
  2. 对于新数据,能对现有的ES数据进行更新。

参考ElasticSearch进阶篇(一)–版本控制,可以使用ES的版本实现该需求的开发。

二、代码实现及验证

代码实现

请求写数据时加入version和version_type参数,主要代码如下:

IndexRequest indexRequest = Requests.indexRequest()
                .index(indexName)
                .id("1")
  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值