【发布时间】:2022-09-27 15:19:07
【问题描述】:
我读到 ES 是near real-time,因此所有索引/创建/更新/删除等操作都不会立即执行。
假设我指数3个文件相同的身份证,按此顺序,每个之间有 1 毫秒,然后强制刷新:
{
\"_id\": \"A\",
\"_source\": { \"text\": \"a\" }
}
{
\"_id\": \"A\",
\"_source\": { \"text\": \"b\" }
}
{
\"_id\": \"A\",
\"_source\": { \"text\": \"c\" }
}
然后,如果我搜索 id 为 \"A\" 的文档,我会得到 1 个结果,但是哪个?
当 Elasticsearch 执行刷新时,它是否按照到达的顺序依次执行操作?
-
您对 3 个文档使用相同的 id,会发生插入,然后是 2 个更新。最后,您将在数据库中只有一个文档。
-
是的,我的问题是:哪一个?如果 ES 并行执行操作,它可以用 \"b\" 创建 doc,然后用 \"a\" 更新,然后是 \"c\",所以我会得到文档 \"c\"。但是顺序是已知的吗?我们可以预测吗?
标签: elasticsearch