Elasticsearch 写入流程 构建倒排索引原理 读取流程

Elasticsearch (ES) 是一个基于 Lucene 的开源搜索和分析引擎,它提供了一个分布式、多租户能力的全文搜索引擎,带有 HTTP 网络接口和基于 JSON 的文档。以下是 Elasticsearch 的写入流程和构建倒排索引原理,以及读取流程的概述。

写入流程

  1. 客户端请求:客户端通过 HTTP 请求将文档发送到 Elasticsearch 集群中的一个节点(通常是 master 节点)。

  2. 协调节点:接收到请求的节点会成为协调节点(coordinating node),它负责路由请求到正确的分片(shard)。

  3. 路由到分片:根据文档的 ID 和索引设置中的分片数量,协调节点计算出文档应该存储在哪个分片上。

  4. 主分片写入:文档被写入到其对应的主分片(primary shard)上。

  5. 副本分片写入:如果启用了副本(replicas),主分片会将文档复制到其对应的副本分片(replica shard)上,以确保数据的高可用性。

  6. 写入确认:一旦文档被成功写入主分片和所有副本分片(取决于写入的一致性设置),协调节点会向客户端发送写入成功的确认。

  7. 刷新操作:在写入过程中,文档首先被写入到一个内部缓冲区中。为了提高写入性能,Elasticsearch 不会立即将缓冲区中的数据写入到磁盘上的索引文件中。当缓冲区达到一定大小或经过一定的时间后,会触发一个刷新(refresh)操作,将缓冲区中的数据写入到磁盘上的新段(segment)中。

构建倒排索引原理

Elasticsearch 使用 Lucene 作为其核心索引和搜索引擎。L

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值