0

我正在经历弹性搜索,并希望从 ES 集群中获得一致的响应。

我读过Elasticsearch 读写一致性

https://www.elastic.co/guide/en/elasticsearch/reference/2.4/docs-index_.html

和其他一些帖子,可以得出结论,ES 在完成对所有分片(主 + 副本)的写入后返回写入操作成功,而与一致性参数无关。

让我知道我的理解是否错误。

我想知道是否有人知道,弹性搜索如何将节点/分片添加回暂时关闭的集群中。它会在可用后立即开始提供读取请求,还是在提供读取请求之前确保其拥有最新数据?

我寻找上述问题的答案,但找不到任何答案。

谢谢戈帕尔

4

1 回答 1

0

如果节点从集群中移除并再次加入,Elasticsearch 会检查数据是否是最新的。如果不是,那么它将无法用于搜索,直到它再次被更新(这可能意味着整个分片被再次复制)。

一致性参数只是一个额外的预索引检查集群中是否有预期的分片数量(如果索引配置为有 4 个副本,那么主分片加上两个副本需要可用,如果设置为quorum)。但是,此参数永远不会改变在返回客户端之前需要将写入写入所有可用分片的行为。

于 2017-08-03T06:38:39.627 回答