1、分片算法描述
SolrCloud支持两种分片算法:Composite ID 和 Implicit。两种分片算法均必须在创建collection时均需要指定分片数量。
Composite ID:hash值范围为80000000~7fffffff,Composite ID分片算法根据创建collection时指定的分片数量,计算出每个分片shard的哈希值范围。此算法可以将数据均分分布在每个分片上。此分片算法的collection只能以分片分裂的方式扩展。
Implicit:数据插入时需要指定要将数据插入到哪个分片,否则会默认添加到第一个分片上。此分片算法的collection可以动态添加分片,但需要程序控制数据插入到哪个分片。取数据时若知道数据在哪些分片,可以在查询时指定分片对查询进行优化。
2、分片算法选择
Composite ID分片算法适用于数据查询时没办法提前判断数据所在分片的场景。
Implicit分片算法适用于数据查询时可以提前判断数据所在分片的场景。如根据年份插入将数据插入到不同分片的场景,根据时间查询时可以根据时间范围判断待查询数据所在分片。