es查询流程可以分为根据id查询和根据字段检索
根据id查询流程
- 客户端给任意一个协调节点发送查询请求
- 协调节点会根据id路由到文档所在分片的数据节点(从主分片或者副分片所在的数据节点任选一个数据节点进行查询)
- 所在分片的数据节点把结果返回给协调节点
-
协调节点把结果再返回给客户端
根据字段检索流程
- 客户端给任意一个协调节点发送查询请求
- 协调节点会进行分词然后请求所有分片的数据节点进行检索
- 所有分片的数据节点把符合条件的数据id、排序字段等信息返回给协调节点
- 协调节点把所有数据节点返回的结果进行合并、排序,截取数据后得到最终需要的数据id
- 协调节点再根据数据id去对应分片所在的数据节点上获取数据
-
获取到最终数据之后在返回给客户端