Elasticsearch数据写入过程

1. 写入请求

当一个写入请求(如 IndexUpdateDelete 请求)通过REST API发送到Elasticsearch时,通常包含一个文档的内容,以及该文档的索引和ID。

2. 请求路由

  • 协调节点:首先,请求会到达一个协调节点(coordinating node)。该节点负责将请求路由到适当的数据节点(data node)。
  • 路由:基于文档的ID和索引的分片配置,Elasticsearch计算该文档应该存储在哪个主分片上,以确保数据均匀分布。根据路由算法,该文档在哈希表中的位置决定了它的存储位置。

默认路由:使用文档的ID进行哈希计算,与索引的主分片数量进行取模运算,以确定文档存储的具体分片。

自定义路由 :使用 routing 参数,在写入文档时,可以使用routing参数指定自定义路由。这将覆盖默认的基于文档ID的路由逻辑。

3. 主分片和副本分片

  • 主分片:协调节点将写入请求发送到负责存储文档的主分片(primary shard)数据节点。
  • 副本分片:在写入操作完成后,Elasticsearch将数据复制到配置的副本分片(replica shard)以确保高可用性。副本用于提供冗余和负载均衡。

4. 内存写入

  • 事务日志(Translog):在写入操作到达主分片后,Elasticsearch会首先将文档写入到一个称为"事务日志"的文件中。这一过程在内存中进行,以便在意外失败时能够保持数据的完整性。事务日志记录了所有的写入操作,包括新增、更新和删除。

  • 内存缓冲:在确认写入事务日志后,Elasticsearch会将文档的内容写入到内存中,并缓冲起来。内存中的数据结构称为"索引缓冲区"(index buffer)。

5. 刷新(Refresh)

  • 刷新操作:每隔一段时间,Elasticsearch会进行一次"刷新"操作,它会将内存中的索引缓冲区的数据刷新到磁盘上,使这些数据变得可搜索。默认情况下,Elasticsearch每1秒进行一次刷新。

  • 刷新过程:在刷新过程中,Elasticsearch会为当前的文档创建新的段(segment),并把它们写入到磁盘。在此期间,新的写入操作仍可以在不影响正在进行的搜索的情况下进行。

6. 索引(Index)过程

  • 分词:对于文本类型的字段,Elasticsearch还会对文本进行分词处理,以便在创建索引时使用其关键词(tokens)进行搜索。

  • 倒排索引:Elasticsearch通过倒排索引将文档中的每个词映射到包含该词的文档。这一过程是在分片内部完成的,从而提高了搜索速度。

7. 合并(Merge)

  • 段合并:随着时间的推移,Elasticsearch会将多个小段合并成较大的段,以提升存储效率和搜索性能。这一过程是自动进行的,通常在写入和获取请求的低峰期执行。

8. 返回响应

所有操作完成后,Elasticsearch返回写入请求的响应,包括操作是否成功及相应的元数据(如文档ID和版本号等)。

9. 容错和重试

  • 失败处理:如果写入请求失败,Elasticsearch会记录错误,并可以配置重试机制。

  • 副本确认 :对于高可用性要求的场景,Elasticsearch支持在确认写入完所有副本分片后再返回成功响应,可以通过设置 wait_for_active_shards来控制这一行为。

相关推荐
说私域43 分钟前
基于开源AI大模型的精准零售模式创新——融合AI智能名片与S2B2C商城小程序源码的“人工智能 + 线下零售”路径探索
人工智能·搜索引擎·小程序·开源·零售
24k小善5 小时前
flink集成tidb cdc
大数据·flink·tidb
郝开5 小时前
ElasticSearch 分词器介绍及测试:Standard(标准分词器)、English(英文分词器)、Chinese(中文分词器)、IK(IK 分词器)
elasticsearch·中文分词·ik·ik analyzer
kngines7 小时前
【实战ES】实战 Elasticsearch:快速上手与深度实践-3.2.3 案例:新闻搜索引擎的相关性优化
大数据·elasticsearch·搜索引擎
秦南北8 小时前
国内领先的宠物类电商代运营公司品融电商
大数据·人工智能·电商
problc10 小时前
Manus AI 全球首款通用型 Agent,中国制造
大数据·人工智能·制造
*星星之火*13 小时前
【Flink银行反欺诈系统设计方案】3.欺诈的7种场景和架构方案、核心表设计
大数据·架构·flink
黑客KKKing13 小时前
Refreshtoken 前端 安全 前端安全方面
大数据·前端·网络·安全·web安全
永洪科技13 小时前
共绘智慧升级,看永洪科技助力由由集团起航智慧征途
大数据·数据分析·数据可视化·bi
好记性+烂笔头13 小时前
Hadoop八股
大数据·hadoop·分布式