ElasticSearch写入数据时的索引过程阐发神仙代言人

摘要:索引过程图解 api向集群送索引请求,集群会使用负载均衡节点来处理惩罚该请求,如果没有单独的负载均衡点,master节点会充当负载均衡点的角色。 负载均衡节点凭据routing参数来计算


索引过程图解

ElasticSearch写入数据时的索引过程阐发

api向集群送索引请求,天下女人一起来看流星雨,集群会使用负载均衡节点来处理惩罚该请求,如果没有单独的负载均衡点,master节点会充当负载均衡点的角色。

负载均衡节点凭据routing参数来计算要将该索引存储到哪个primary shard上,然后将数据给到对应的shard。

对应的shard拿到数据后进行索引写入,写入乐成后,将数据给到自己的replica shard。

当replica shard也将数据乐成写入后,返回乐成的结果到负载均衡节点。

此时负载均衡节点才认为数据写入乐成,将乐成索引的结果返回给请求的api

routing(路由)参数

1、routing参数的指定和计算原理

每个document存放在哪个shard上是由routing参数决定的,那这个参数的值是什么,ElasticSearch又是怎么通过该参数来确定存放在哪个shard上呢?

routing参数的默认值为_id,2012 3 19长安街,也可以进行手动指定routing参数,可以是值,声籁k45,也可以是某个字段:

PUT /index/type/id?routing=user_id { "user_id":"M9472323048", "name":"zhangsan", "age":54 }

ElasticSearch有个哈希算法,通过 Hash(routing) % number_of_shards算得存储到哪个shard上面去,好比上面的语句,假设Hash("M9472323048") = 23,该index含有3个shard,则存储到 23 % 3 = 2,即P2上面。shard编号取值为0 number_of_shards - 1。

2、手动指定routing和自动routing的区别

routing的值默认为_id字段,_id可以包管在集群中唯一,但是有时候需要手动指定routing来优化后续的查询过程。因为routing确定,那就可以指定用哪个routing进行查询,缩减了目标结果集,剑网3多玩论坛,减少了ElasticSearch集群的压力。

使用自动routing:

优点: 简单,可以很均衡的分派每个shard中的文档数量,李斐莉,做到负载均衡

缺点: 当查询一下庞大的数据时,需要到多个shard中查找,查询偏慢

使用手动routing:

优点: 查询时指定当初入库的routing进行查询,锁定shard,直达目标,查询速度快

缺点: 麻烦,要包管存储的均衡比力庞大


本文地点:/fanwen/20191002/26661.html 转载请注明出处!
相关文章:
  1. [文档范文]使用wireshark抓包东西,对DHCP、HTTP、DNS的数据包进
  2. [文档范文]使用Python对数据进行AES加密和解密泷泽萝拉abs
  3. [文档范文]数据库课程设计心得体会
  • [文档范文]2018电话销售事情总结
  • [文档范文]中学班主任事情计划
  • [文档范文]恭喜财,春节慰问信2019
  • [文档范文]一文了解网络交换机的6种命令配置模式许雅涵比
  • [文档范文]2018祖国在我心中演讲稿200字
  • [文档范文]表扬大会倡议书
  • [文档范文]八年级美术教学事情计划

  • 专题推荐:阐发(13)数据(17)过程(3)索引(2)ElasticSearch(1)写入(1) 巨变 自贸区 700倍 廉政警句 防火标语 公事员转正申请 证婚人致辞 支教总结 教师小我私家述职 入党志愿 党员允许书 会议邀请函 预备党员思想汇报 世界遗产作文 弘扬雷锋精神征文 食品宁静法试题 金色花教案 捐赠仪式主持词 为人民办事教案 银行事情总结 拥堵费收取方案 高等学校结业生登记表基层组织意见 团拜会策划方案 优秀员工自荐书 结业感言 中国梦 正能量文章