当前位置:   article > 正文

elasticsearch 查询过程_elasticsearch查询过程

elasticsearch查询过程

背景

学习elasticsearch查询流程,了解es源码。在网络上看了很多elasticsearch的教程。对es的流程介绍都是停留在query then fetch层面。没有一篇真正细致的深入到流程的每一步。本篇博客旨在细致的介绍es search过程的整个调试流程,介绍的是query then fetch的流程。所以,默认对es有一定理解,且能搭建一个本地的调试环境。
请带着以下问题去读本篇文章。

  1. elasticsearch client是如果发送请求的,又是如何接受和处理返回的结果?
  2. 协调节点的接收到client请求后的处理流程是怎样的?
  3. 协调节点怎么收集合并数据,分数处理?
  4. 数据节点接收到查询请求的处理过程?
  5. 数据节点接受到fetch请求的处理过程?
  6. search过程中涉及到的请求有哪些?
    这些问题会在文章最后解答。

查询过程

首先从整体架构上介绍整个查询流程。
我们知道,es的查询分为query then fetch和dfs query then fetch两种,而本文介绍的是前者。es的底层结构是倒排索引,这个查询的过程,query就是先根据查询获取具体的数据的id。fetch就是根据query过程的获取的id拿出具体的数据。整个流程涉及到了三个实体,客户端(client),协调节点(Coordinator),数据节点(DataNode)。三者的具体关系看下图,这个流程在网上也有很多的文章介绍。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号