ElasticSearch中document增删改原理

ElasticSearch作为分布式文档存储,生产环境通常有多个节点协同,共同完成ElasticSearch的增删改查操作,但是对于ElasticSearch增删改的写操作,步骤基本一样,下面将简单介绍其增删改的过程。

温馨提示:本博客已经发布小程序,可在微信小程序中搜索”百变码农”,手机上也能看!

1、总共可以总结为4大步骤

(1)建立连接

当使用客户端工具(kibana或者Java客户端)连接到ElasticSearch,并发送一个增删改的请求之后,这个请求会被随意发送到某一个节点上。此时,被连接的节点就称为协调节点,通常叫做:Coordinate Node。

(2)请求路由

协调节点收到请求之后,会根据请求的文档数据使用路由算法进行路由操作。通常如果未指定路由字段,默认使用的是主键id,如果指定了路由字段,则使用路由字段根据路由算法进行路由,将文档保存到指定的节点(如果是增加操作),或者是根据文档ID找到文档所在的节点(如果是删除或者修改操作)。

(3)节点数据同步

路由到指定的处理节点(通常为某一个主节点)之后,由主节点进行数据的修改或者保存,然后将修改或者保存之后的数据同步到该主节点(primary node)对应的副本节点上(replica node)上。

(4)节点响应

当主节点发现副本节点上的数据同步完成之后,会将结果响应给协调节点。然后由协调节点再将操作结果响应给ElasticSearch的客户端,整个增删改过程结束。

2、增删改过程图示

上述图示假设是更新一个文档ID为1的数据,并且路由字段为主键ID,1,2,3,4即对应的是上述总结的四个步骤。

至此,ElasticSearch增删改的内部原理介绍完毕。欢迎转发!如果小程序端代码显示混乱,是因为移动端兼容性导致,可移步至PC端站点查看!

注意:文章属于原创,如果转发请标注文章来源:个人小站【www.jinnianshizhunian.vip

另外提供一些优秀的Java架构师及IT开发视频,书籍资料。无需注册,无需登录即可下载,免费下载地址:https://www.592xuexi.com