3

我试图在谷歌上找到但没有成功。

任何人都可以解释弹性搜索在什么级别使用锁来处理多线程或多进程环境?

它是在索引还是文档类型或文档类型中的特定文档?

4

1 回答 1

8

答案是以上都不是。Elasticsearch 基于 Lucene,从 v4.0 (Elasticsearch v1.0) 开始使用无锁并发更新。因为没有锁,如果您的应用程序需要同时更新相同的记录,您必须依赖乐观并发控制。

但这并不意味着 Elasticsearch 中没有锁。一些全局操作必须以集中的方式完成。例如,如果多个客户端尝试同时创建同名索引,则只有其中一个会成功,因为此操作会影响集群状态,因此在主节点上以单个线程执行。

于 2015-09-08T01:27:20.980 回答