前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >14.索引数据的写入和搜索过程

14.索引数据的写入和搜索过程

作者头像
AI码师
发布2024-05-17 13:50:17
930
发布2024-05-17 13:50:17
举报

数据写入过程

应用程序发送写入请求

应用程序向 Elasticsearch 发送写入请求,请求包含要写入的文档数据和目标索引名称。

路由到正确的分片

Elasticsearch 根据文档的 ID 或路由值,将写入请求路由到正确的数据分片上。分片的选择是基于分片路由策略,默认情况下,Elasticsearch 使用文档 ID 的哈希值来决定文档应该存储在哪个分片上。

文档写入到主分片

一旦确定了目标分片,写入请求将被发送到该分片的主副本(primary shard)上。主分片负责处理写入操作。

分片副本写入

主分片接收到写入请求后,会将文档写入到本地的主分片副本和配置的分片副本(replica shard)上。副本分片用于实现数据冗余和高可用性。

响应应用程序

一旦写入操作成功,Elasticsearch 将向应用程序返回写入成功的响应,标志着文档的写入过程完成。

数据搜索过程

演示的是不带路由key的

应用程序发送搜索请求

应用程序向 Elasticsearch 发送搜索请求,请求包含查询条件、索引名称、要返回的结果数量等信息。

路由到正确的分片

Elasticsearch 根据查询条件,将搜索请求路由到可能包含匹配文档的分片上。它使用分片路由策略来确定哪些分片可能包含相关文档。

主分片搜索

一旦确定了目标分片,搜索请求将被发送到该分片的主副本上。主分片将执行搜索操作,并返回倒排索引中与查询匹配的文档 ID 列表。

分片副本搜索

如果搜索请求同时发送给了副本分片,副本分片也会执行相同的搜索操作。副本的搜索结果将用于搜索结果的合并和排序。

结果合并与排序

主节点负责将来自不同分片和副本的搜索结果合并,并根据相关性得分对结果进行排序。然后,将排序后的结果返回给应用程序。

响应应用程序

一旦搜索操作完成,Elasticsearch 将向应用程序返回包含搜索结果的响应,应用程序可以根据需求进行结果展示或后续处理。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乐哥聊编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据写入过程
    • 应用程序发送写入请求
      • 路由到正确的分片
        • 文档写入到主分片
          • 分片副本写入
            • 响应应用程序
            • 数据搜索过程
              • 应用程序发送搜索请求
                • 路由到正确的分片
                  • 主分片搜索
                    • 分片副本搜索
                      • 结果合并与排序
                        • 响应应用程序
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档