ElasticSearch采用了乐观锁来保证数据的一致性,也就是说,当用户对document进行操作时,并不需要对该doucument作加锁和解锁的操作,只需要指定要操作的版本即可。当版本号一致时,ElasticSearch会允许该操作顺利执行,而当版本号存在冲突时,ElasticSearch会提示冲突并抛出异常(VersionConflictEngineException异常)
ElasticSearch的版本号的取值范围为1~2^63-1
内部版本控制:使用的是_version
外部版本控制:ElasticSearch在处理外部版本号时会与对内部版本号的处理有些不同。它不再检查_version是否与请求中指定的数值相同,而是检查当前的version是否比指定的数值小。如果请求成功,那么外部的版本号就会被存储到文档中的version中。
为了保持_version与