我们处理数据有两个场景,
1)场景一:数据插入es后,发送到kafka由其他服务处理后放回kafka(场景一这一步较快),我们拿到后对原来插入的文档进行更新操作,考虑到update中有get操作会进行refresh,后续又做了一次search请求查询更新后的数据,但有一定几率查不到数据。
2)场景二:数据插入es后,发送到kafka由其他服务处理后放回kafka(场景二这一步较慢),我们拿到后对原来插入的文档进行更新操作,考虑到update中有get操作会进行refresh,后续又做了一次search请求查询更新后的数据,稳定可以查到数据。
其实场景一和二在update操作后都是一个search请求,但为什么结果差距很大呢
1)场景一:数据插入es后,发送到kafka由其他服务处理后放回kafka(场景一这一步较快),我们拿到后对原来插入的文档进行更新操作,考虑到update中有get操作会进行refresh,后续又做了一次search请求查询更新后的数据,但有一定几率查不到数据。
2)场景二:数据插入es后,发送到kafka由其他服务处理后放回kafka(场景二这一步较慢),我们拿到后对原来插入的文档进行更新操作,考虑到update中有get操作会进行refresh,后续又做了一次search请求查询更新后的数据,稳定可以查到数据。
其实场景一和二在update操作后都是一个search请求,但为什么结果差距很大呢
2 个回复
God_lockin
赞同来自:
不知道你真实的使用场景是什么,但是用ES做这种类似数据校验的使用其实并不推荐
guoyanbiao520
赞同来自: