在并发情况下,Elasticsearch如果保证读写一致?

可以通过版本号使用乐观并发控制,以确保新版本不会被旧版本覆盖,由应用层来处理具体的 冲突;

另外对于写操作,一致性级别支持quorum/one/all,默认为quorum,即只有当大多数分片

可用时才允许写操作。但即使大多数可用,也可能存在因为网络等原因导致写入副本失败,这 样该副本被认为故障,分片将会在一个不同的节点上重建。

对于读操作,可以设置replication为sync(默认),这使得操作在主分片和副本分片都完成后才 会返回;如果设置replication为async时,也可以通过设置搜索请求参数_preference为primary来查询主分片,确保文档是最新版本。