开发者社区> 问答> 正文

Elasticsearch 搜索的过程是什么?

Elasticsearch 搜索的过程是什么?

展开
收起
芯在这 2021-12-11 22:03:50 424 0
1 条回答
写回答
取消 提交回答
  • 搜索拆解为“query then fetch” 两个阶段。

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

    步骤拆解如下:

    (1)假设一个索引数据有 5 主+1 副本 共 10 分片,一次请求会命中(主或者副本分片中)的一个。

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

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

    fetch 阶段的目的:取数据。

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

    2021-12-11 22:04:07
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云Elasticsearch体系架构与特性解析 立即下载
开源与云:Elasticsearch应用剖析 立即下载
《Elasticsearch全观测解决方案》 立即下载