一对多的关系,索引可以有N个分片,这样的好处是一个大的索引拆分成多个,分布在不同节点上,构成分布式搜索。分片的数量必须在创建索引前确定下来,并且创建索引后不可修改。
那么为什么分片数量确认下来就不能修改?
举例说明:
现在有三个主分片P0,P1,P2
根据路由算法hash(id)%分片数量
ID=1的文档会存放到P1
ID=2的文档会存放到P2
ID=3的文档会存放到P0
检索时,也是根据路由算法去找文档,此时如果分片数量变少变多会导致搜索不到文档。
主分片副分片不能在同一个节点上
如果只有一个节点的情况下,那么副分片是不会被创建。
网友评论