Elasticsearch的内部存储
一、文档的存储
当你索引一个文档的时候,它被单独存储在一个分片上,分配存储文档的节点公式为:
分片编号为=hash(routing一般为主键id)%主分片数量
类似mysql的水平分表策略,所以主分片的数量不允许随意更改,如果你更改了就会导致历史数据的丢失
假如我们设置了5个主分片,每个节点2个副分片,如图。主分配的基本上也是按照平均分配的,保证了节点的负载均衡。
当客户端发起请求至任意节点时,每个节点都有能力处理任意请求。
二、新建、更新、删除文档
新建、更新、删除文档时,必须在主分片上完成后,才能复制到相关的副分片上,截取官方的文档如图。