详细描述一下 Elasticsearch 搜索的过程?

想了解 ES 搜索的底层原理不再只关注业务层面了

解答

搜索拆解为“query then fetch” 两个阶段

query 阶段的目的定位到位置但不取

步骤拆解如下

1、假设一个索引数据有 5 +1 副本  10 分片一次请求会命中主或者副本 

分片中的一个

2、每个分片在本地进行查询结果返回到本地有序的优先队列中

3、 2)步骤的结果发送到协调节点协调节点产生一个全局的排序列表

fetch 阶段的目的取数据

路由节点获取所有文档返回给客户端

posted @ 2020-12-01 14:12  咔啡  阅读(416)  评论(0编辑  收藏  举报