elasticsearch 的 update by query 版本冲突如何解决?

2020-12-07 14:19:49 +08:00
 dyllen

用户导入数据的时候,有可能会连续更新,就会导致版本冲突,更新失败。

我看 update 是有 retry_on_conflict 参数可以重复提交的。

update by query 就没有了。

这种情况下如何解决冲突,使数据更新正确。

2215 次点击
所在节点    Elasticsearch
5 条回复
simonlu9
2020-12-07 14:34:06 +08:00
队列更新吧,之前我也遇到,客户端请求并发然后就冲突了
dyllen
2020-12-07 14:39:47 +08:00
@simonlu9 我也是打算这么做,来看看有没有其他方法。
Mithril
2020-12-07 14:44:49 +08:00
ElasticSerach 这玩意相当于数据库,最好的办法是在它上面包一层 Application Database 。所有和 ES 通信的全走你这层程序,从这里面控制并发。
dyllen
2020-12-07 15:03:49 +08:00
@simonlu9
@Mithril
我处理数据实际也是一个一个发的 update by query,只不过是连续的,第一个更新成功之后,后面的都是返回版本冲突。这个为什么也会版本冲突呢。
dyllen
2020-12-07 17:26:05 +08:00
@dyllen 是刷新的问题,es 更新之后不会马上出现下 search 结果里面,又延时。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/732924

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX