沙师弟,师父的充电器掉了

面对refresh_interval,ES 的更新机制应该期待怎么的行为?

Elasticsearch | 作者 yudianer | 发布于9 小时前 | 阅读数:85

目前遇到的ES 更新的场景包括以下几种,但是由于刷新进制和近实时搜索的特性,我们运行更新语句的时候应该注意什么?
我看了许多资料多说到文档更新分为 旧文档检索-新文档构建-新文档索引-旧文档标记删除。那对于同一个文档的更新这4步都是顺序执行吗?还是完全的并发执行?
另外实际操作的时候还碰到1. 场景1 按照ID更新好像是实时更新 2. 场景二好像也是实时替换文档 3.场景三 跟刷新机制有关系,如果刷新周期没到,可能会导致由于查询条件查不到数据而更新丢失?那如果这样的话update_by_query对于用户来说是不是每次更新的时候都要先查询一次数据是否是已经可以被查询到,并且在更新的时候如果更新不成功要反复的重试?



场景一:index_123/_update/文档ID
更新内容为脚本 if(state==0){state=1}

场景二:直接更新整个文档 index_123/_doc/文档ID

场景三:查询更新 update_by_query
更新动作为条件判断 if(state=1){state=2}
已邀请:

要回复问题请先登录注册