发散阶段 收集阶段 标识符 得分 副本角色
创建文档
1、指定索引,将文档发送给任意一个节点;
2、1中节点知道目标索引有多少分片,且能确定哪个分片来存储文档:Elasticsearch使用文档的唯一标识符来计算文档应该被放到哪个分片;
发起搜索
是否使用路由
是
直接转发到单个分片
尝试用文档标识符来获取文档是时,发送查询到一个节点,该节点使用同样的路由算法来决定持有文档的节点和分片;改节点转发查询,获取结果,返回结果;
否
1、收到查询请求的节点(聚合节点)将查询转发给保存了属于给定索引的分片的所有节点,并要求与查询匹配的文档的最少信息(默认情况下是标识符、得分):发散阶段,scatter phase
2、收到信息后,该聚合节点对结果排序,并发送第2个请求来获取结果列表所需的文档:收集阶段,gather phase
3、返回结果
副本角色
创建:额外的位置存储数据
查询:es尽量平衡分片和它的副本之间的负载,使他们承受均衡的压力