从0到1快速了解ElasticSearch数据检索

简介

这篇文章主要讨论一下ElasticSearch数据检索内部流程,方便大家对数据检索的理解。如果对ElasticSearch的文档写入不了解的同学可以先看一下上一篇文章【从0到1了解ElasticSearch文档写入】

ES数据检索流程

GET获取数据

主要流程如下:

数据检索流程

Search获取数据

GET /_search
{
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}

协调节向这个索引的所有分片发送search请求,每个分片执行数据检索,最后协调节点将数据返回给客户端,核心流程如下:

搜索两阶段:query phase 和 fetch phase,分别对应倒排数据和正排数据,query phase返回的是docIds,fetch phase就是Get操作;

两阶段相应的实现位置:

查询(Query)阶段 —- search.InitialSearchPhase

取回(Fetch )阶段 —- search.FetchSearchPhase

都继承自SearchPhase

原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/212302.html

(0)
上一篇 2021年12月16日
下一篇 2021年12月16日

相关推荐

发表回复

登录后才能评论