一旦合并被索引,字段是否自动更新

are fields updated atomically once a merge is indexed

文档明确指出,一旦合并被接受,它就是持久的,很快就会被索引。 不清楚的是索引的原子性。我假设特定文档的所有合并字段都以原子方式更新(全部或全部),但我只是想确认一下。

因此,假设我们创建了包含 3 个字段 a、b 和 c 的索引,并且已经使用以下值索引了一个包含 key="k1" 的文档:{ a:1, b:1, c:1 }

为 k1 提交以下合并 { b:2, c:2 } 后,对 k1 的后续查询将 return:

{ a:1, b:1, c:1 } 或最终 { a:1, b:2, c:2 } 但从来没有 { a:1, b:2, c:1 }

这是一个正确的假设吗?

是的,假设是正确的,对于给定的合并请求,单个文档中的所有字段都将自动更新。

为了完整起见,请注意索引批处理中不同条目的更新(针对不同文档甚至多次引用同一文档)不保证是原子的。