作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基于这个answer,很明显地说:
primary_term
一起用于唯一确定索引上的版本; version=1&version_type=external
和
if_seq_no=0&if_primary_term=1
之间有什么区别吗?
if_seq_no=0&if_primary_term=1
可能会更加不便,因为我们必须同时在DB中记录两个字段,而我们只需要记录version
和version=1&version_type=external
即可。if_seq_no=0&if_primary_term=1
将提高并行度,而version
则更差。POST test/_bulk
{"index": { "_id": 1 }}
{"test": 1}
{"index": { "_id": 2 }}
{"test": 2}
PUT test/_doc/1?version=1&version_type=external&error_trace=true
{
"test": 1
}
GET test/_doc/1
PUT test/_doc/1?if_seq_no=0&if_primary_term=1&error_trace=true
{
"test": 1
}
最佳答案
基于这个古老的Elasticsearch Versioning Support帖子,我看到_version
在ES中用于并发控制。
在Breaking changes in 6.7中,我可能只是在这里引用。
internal version may not uniquely identify a document’s version if an indexed document wasn’t fully replicated when a primary fails. As such it is unsafe to use for optimistic concurrency control, is deprecated and the option will no longer be available in Elasticsearch 7.0.0. Please use the if_seq_no and if_primary_term parameters instead.
if_seq_no=0&if_primary_term=1
作为唯一选项。 关于elasticsearch - version = 1&version_type = external和if_seq_no = 0&if_primary_term = 1之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62622922/
我是一名优秀的程序员,十分优秀!