ElasticSearch--查询数据的流程(原理)

原文网址:ElasticSearch--查询数据的流程(原理)_IT利刃出鞘的博客-CSDN博客

简介

说明

        本文介绍ES查询数据的流程。

问题引入

        要搜索某个单词, 但数据在 5 个分片(Shard)上面, 结果要排序( 按照匹配度进行排名) , 如何得到最后正确的排序呢? 

查询流程概述

  1. 客户端将请求发送到一个协调节点(coordinate node)
  2. 协调节点将搜索请求发到所有分片(主分片或副本分片)。
  3. 所有分片基于本分片的内容独立完成搜索, 然后返回符合条件的结果(文档ID和排序值)。
  4. 协调节点将返回的结果重新排序和排名
  5. 协调节点根据 doc id 去各个节点上拉取实际的 document 数据,最后返回给客户端。

也就是说,ES的一次搜索,是一次scatter/gather过程(这个跟mapreduce很类似)。

其他网址

ElasticSearch学习之数据写入及查询流程分析_Charles Yan的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/feiying0canglang/article/details/126486545