1.es的query分为三个阶段: 分散查询-聚和查询-最终结果返回
a)分散查询阶段: 假设收到请求的节点为A节点,A节点会把查询请求分发到构成要查询的索引的每个分片所在的节点上(假设是B,C,D三个节点),B,C,D三个节点会把满足查询条件的document的Id和对应的score返回给A节点
b)聚合查询阶段:A节点会把B,C,D节点返回的文档列表按照分数进行排序,取满足topN的文档,然后把这些文档Id发给对应保护这些文档Id的节点,比如B和D,此时B和D会返回具体的文档内容给A
c)最终结果返回: 当A拿到了B和D返回的具体文档信息后,把该信息返回给客户端,请求完成
es的查询逻辑
最新推荐文章于 2024-05-02 21:04:19 发布