You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elasticsearch是否按特定顺序执行操作?重复ID索引场景验证

Elasticsearch同ID文档多次索引后的结果说明

当你按顺序以1毫秒间隔索引三个ID为"A"的文档,之后执行force refresh,搜索ID为"A"的文档时,会得到最后一次索引的、text字段值为"c"的文档。

原因如下:

  • Elasticsearch对同ID文档的多次索引操作,本质是基于版本控制的覆盖更新。每个写操作都会被分配一个递增的版本号,后到达的操作版本号必然高于先到达的。
  • force refresh的作用只是将内存中待提交的操作刷写到磁盘,同时让文档对搜索可见,它不会改变操作的执行顺序。所有待刷新的操作会严格按照ES接收它们的先后顺序处理,后到的高版本操作会直接覆盖先到的低版本同ID文档。

简单来说,不管刷新时机如何,只要你是按顺序发送的请求,最终保留的一定是最后一次写入的文档版本。

内容的提问来源于stack exchange,提问作者Aurelien

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 03:05:21