Elasticsearch 刷大量数据的时候,之前存在的数据,这时候更新,为什么不能查询到?

执行更新操作时,elasticsearch会将相关的doc文档标识为delete状态,不是立马清除,
更新时,会检索得到具体doc的version号,并且传递到重建索引的index请求,此时如果另一个进程修改了处于检索和重建索引步骤之间的文档,那么version可能会不匹配,更新请求有可能失败。

重新写入的时候,能否立即搜索到和相关refresh_interval配置也有关系,默认为1s,这也是es为什么说是准实时搜索的原因。
结语:
es的doc是不可变的,不能被修改,只能被替换。

赞赏码

非学,无以致疑;非问,无以广识

原文地址:https://www.cnblogs.com/lxwphp/p/15452418.html