分布式搜索服务ElasticSearch(11)

网友投稿 547 2022-05-29

elasticsearch路由算法

当索引一个文档(Document)的时候,文档会被存储到一个主分片中。ElasticSearch如何知道一个文档应该存放到哪个分片中呢?当我们创建文档时,它如何决定这个文档应当被存储在分片1还是分片2中呢?首先这肯定不会是随机的,否则将来要获取文档的时候我们就不知道从何处寻找。

ElasticSearch中提供了两种路由算法:

默认路由: shard=hash(routing)%number_of_primary_shards ,这里路由策略扩展受到shards个数的限制,扩容的时候需要成倍扩容(ES6.x),并且在创建index的时候要指定未来允许扩容的规模。ES5.x不支持扩容;ES7.x可以自由扩容。

自定义路由:该路由方式,通过指定routing的方式,可以影响文档写入到哪个shard,也可以仅仅检索特定的shard。

分布式搜索服务ElasticSearch(11)

Elasticsearch 分布式 实时流计算服务 CS

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring Boot 参考文档阅读摘录/Spring WebFlux(三)
下一篇:JavaScript中的DOM使用详解
相关文章