取回阶段 | Elasticsearch: 权威指南 | Elastic
2024-12-21
查询阶段标识哪些文档满足 搜索请求,但是我们仍然需要取回这些文档。这是取回阶段的任务, 正如 图 15 “分布式搜索的取回阶段” 所展示的。
分布式阶段由以下步骤构成:
GET
请求。
协调节点首先决定哪些文档 确实 需要被取回。例如,如果我们的查询指定了 { "from": 90, "size": 10 }
,最初的90个结果会被丢弃,只有从第91个开始的10个结果需要被取回。这些文档可能来自和最初搜索请求有关的一个、多个甚至全部分片。
协调节点给持有相关文档的每个分片创建一个 multi-get request ,并发送请求给同样处理查询阶段的分片副本。
分片加载文档体-- _source
字段--如果有需要,用元数据和 search snippet highlighting 丰富结果文档。
一旦协调节点接收到所有的结果文档,它就组装这些结果为单个响应返回给客户端。
官方地址:https://www.elastic.co/guide/cn/elasticsearch/guide/current/_fetch_phase.html