栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

es 7.x 优化 路由选择

es 7.x 优化 路由选择

文章目录

路由选择

路由选择

当我们查询文档的时候,Elasticsearch 如何知道一个文档应该存放到哪个分片中呢?它
其实是通过下面这个公式来计算出来:
shard = hash(routing) % number_of_primary_shards

routing 默认值是文档的 id,也可以采用自定义值,比如用户 id。
number_of_primary_shards 分片数量

不带 routing 查询
在查询的时候因为不知道要查询的数据具体在哪个分片上,所以整个过程分为 2 个步骤
1.分发:请求到达协调节点后,协调节点将查询请求分发到每个分片上。
2.聚合: 协调节点搜集到每个分片上查询结果,在将查询的结果进行排序,之后给用户返回结果。

带 routing 查询
查询的时候,可以直接根据 routing 信息定位到某个分片查询,不需要查询所有的分配,经过协调节点排序。

像上面自定义的用户查询,如果 routing 设置为 userid 的话,就可以直接查询出数据来,
效率提升很多。
带 routing 查询 效率高得多.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/754157.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号