elasticsearch 5.x 系列之六 文档索引,更新,查询,删除流程

一、elasticsearch index 索引流程

步骤:

客户端向Node1 发送索引文档请求

Node1 根据文档ID(_id字段)计算出该文档应该属于shard0,然后请求路由到Node3的P0分片上。

Node3在P0上执行了请求。如果请求成功,则将请求并行的路由至Node1,Node2的R0上。当所有的Replicas报告成功后,Node3向请求的Node(Node1)发送成功报告,Node1再报告至Client。

当客户端收到执行成功后,操作已经在Primary shard和所有的replica shards上执行成功了

二、 elasticsearch 数据读取流程

1.客户端发送Get请求到NODE1。

2.接着NODE1使用文档的_id决定文档属于R0 分片,然后获取R0的所有副本的地址。这次,它将请求路由至NODE2。

3.NODE2将文档返回给NODE1,NODE1将文档返回给客户端。 对于读请求,请求节点(NODE1)将在每次请求到来时都选择一个不同的replica。

shard来达到负载均衡。使用轮询策略轮询问所有的replica shards。

三、 elasticsearch 数据更新流程

1.客户端发送更新操作请求至NODE1

2.NODE1将请求路由至NODE3,Primary shard所在的位置

3.NODE3从P0读取文档,改变source字段的JSON内容,然后试图重新对修改后的数据在P0做索引。如果此时这个文档已经被其他的进程修改了,那么它将重新执行3步骤,这个过程如果超过了retryon_conflict设置的次数,就放弃。

4.如果NODE3成功更新了文档,它将并行的将新版本的文档同步到NODE1和NODE2的replica shards重新建立索引。一旦所有的replica

shards报告成功,NODE3向被请求的节点(NODE1)返回成功,然后NODE1向客户端返回成功。

四、 elasticsearch 删除数据

(流程和数据索引类似,删除只是标记这个文档不可用,并不是立即删除)
客户端向 Node 1 发送删除请求。
节点使用文档的 _id 确定文档属于分片 0 。请求会被转发到 Node 3`,因为分片 0 的主分片目前被分配在 `Node 3 上。
Node 3 在主分片上面执行请求。如果成功了,它将请求并行转发到 Node 1 和 Node 2 的副本分片上。一旦所有的副本分片都报告成功, Node 3 将向协调节点报告成功,协调节点向客户端报告成功。
![](https://images2018.cnblogs.com/blog/1448990/201807/1448990-20180727115901745-1724662407.png)

原文地址:https://www.cnblogs.com/unnunique/p/9376678.html

时间: 2024-10-09 17:45:04

elasticsearch 5.x 系列之六 文档索引,更新,查询,删除流程的相关文章

《如何安装和配置打印服务器》系列技术文档索引-20181011

<如何安装和配置打印服务器>系列技术文档索引-20181011 ?Lander Zhang 专注外企按需IT基础架构运维服务,IT Helpdesk 实战培训践行者http://blog.51cto.com/lander 2018/10/12 7:30 1.如何安装和配置打印服务器之一:安装打印服务器请添加链接描述公司各部门都有各自的网络打印机,那最终用户如何最方便地安装需要的打印机呢?我们先从安装打印服务器开始.... 2.如何安装和配置打印服务器之二:设置打印机打印权限并通过UNC方式添加

ElasticSearch(二):文档的基本CRUD与批量操作

ElasticSearch(二):文档的基本CRUD与批量操作 学习课程链接<Elasticsearch核心技术与实战> Create 文档 支持自动生成文档_id和指定文档_id两种方式. 通过调用POST index_name/_doc,系统会自动生成文档 _id. #create document. 自动生成 _id POST users/_doc { "user" : "Mike", "post_date" : "2

C语言K&R习题系列——统计文档中每个单词所占字母个数,以直方图形式输出

原题: Write a program to print a histogram of the lengths of words in its input. It is easy to draw the histogram with the bars horizontal; a vertical orientation is more challenging. 这也是我第一个过百行的代码(带注释,空格什么的) 主要分两个部分:输入和输出 #include < stdio.h > #define

技术文档索引

技术文档索引: 名称 时间 项目链接 OpenCV 学习 最近 https://github.com/SylvesterLi/MyOpenCVCode ASP.Net 复习 在OCV之后 暂未开始 Hexo Blog 不打算弄了 https://www.cnblogs.com/-SANG/p/9037701.html 原文地址:https://www.cnblogs.com/-SANG/p/9650363.html

PDF文档如何添加、删除或移动页面

PDF文件在添加新的内容时需要添加新的页面,然后在页面中进行编辑操作,在处理文档中一些不需要的页面内容时我们可以对页面进行删除,还有对页面顺序的调整.这些和PPT很类似,但是具体怎样操作,怎么在PDF文档中添加,删除或是移动页面呢? 有些PDF文档设置的文档的编辑权限,所以在对PDF文件进行操作前需要解除文档的保护.? 用PDF编辑器来打开需要操作的文档,在工具中会有页面缩略图以及页面的编辑区域,如果没有显示缩略图那么就在“视图”菜单中选择页面缩略图选项来打开. 在缩略图窗口中我们可以选择对应的

文档里的东西删除后还能恢复吗

文档里的东西删除后还能恢复吗?相信很多的人都遇到过这种情况,自己并不知道我们的手机文档是不是有用的,或者是我们以为我们的手机文档没有用,然后就将我们的手机文档给删除了. 那么等我们删除之后,若是发现我们的手机文档有用,我们该怎么去恢复我们删除的手机文档呢?若是你没有备份的情况下,你也不用担心,因为我们可以试着用下面的方法去找回我们的文档. 1.在准备恢复的时候我们先打开电脑,在电脑上浏览器上下载安装"强力安卓恢复精灵",安装结束之后用数据线将电脑和丢失数据手机连接在一起,之后打开手机的

ElasticSearch学习之——基本的文档CURD

一.文档的添加 POST http://127.0.0.1:9200/{index}/{type}/{id} { "key":"value", "key2":"value2", "key2":"value2", } 这是最基本的一个文档添加语句{index}表示添加的索引如果没有回自动建立(可以理解为数据库),{type}标示类型如果没有回自动建立(可以理解为表),{id}标示添加文档的

ELK安装文档 + 索引可视化

++elk官网:www.elastic.co++ filebeat: 搜集日志Elasticsearch: 存储日志Kibana: 查寻和可视化日志: elasticsearch部署 elasticsearch下载地址: wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.tar.gz ======================================================

AUTOSAR-标准文档索引

索引的两种方法: 关键字检索:用Document Search搜索下载,https://www.autosar.org/nc/document-search/ 按知识分类逐层深入. 这里使用第二种方法介绍Classic Platform. 功能模块划分: 基本上涵盖了全部领域. 文档类型: 阅读的话,可以从EXP说明文档开始,也可以看TR技术报告.然后看各模块的SWS软件规范.各个模块都有对应的SWS软件规范说明,基本上都能找到. 原文地址:https://www.cnblogs.com/wjc