Hello,World

在 bulk批量新增数据后,立刻_update操作部分字段,会把新增的字段覆盖(全为null)

Elasticsearch | 作者 lailai | 发布于2023年02月06日 | 阅读数:3352

举个栗子:
我第一次批量新增50条数据 有字段(a,b,c,d,e)5个字段,然后我又update这50条数据的b和c字段信息。会出现有部分数据的(a,d,e)字段为null的情况,
indexBulk 操作 的refresh = true, updateBulk 的操作refresh = true,
已邀请:

God_lockin

赞同来自:

bulk 的操作不是顺序的,所以有可能es先收到+处理的是update 操作,然后是insert 操作,而且bulk的操作会是set_value_by_id的,所以有可能出现这种状况
 
如果要避免这种问题的话,可以考虑把数据版本设进去 _version=...,那么es如果先收到update (高版本)再收到insert(低版本)的数据时,会拒绝insert操作

要回复问题请先登录注册