概述
- 选择任意一个数据节点(DataNode)发送请求,例如:node2。此时,node2就成为一个coordinating node(协调节点)
- 计算得到文档要写入的分片
shard = hash(routing) % number_of_primary_shards
- routing 是一个可变值,默认是文档的 _id
- coordinating node会进行路由,将请求转发给对应的主分片(Primary Shard)所在的数据节点(假设主分片在node1、副本分片在node2)
- node1节点上的Primary Shard处理请求,写入数据到索引库中,并将数据同步到Replica Shard
- Primary Shard和Replica Shard都保存好了文档,返回client