vs做网站需要的插件,做外汇都看那些网站,宣传片制作网站,汕头建站模板搭建Elasticsearch 的搜索流程是一个分布式协作过程#xff0c;主要包含 查询阶段#xff08;Query Phase#xff09; 和 取回阶段#xff08;Fetch Phase#xff09;#xff0c;默认采用 QUERY_THEN_FETCH 模式。以下是详细流程#xff1a;
一、请求分发与路由 … Elasticsearch 的搜索流程是一个分布式协作过程主要包含 查询阶段Query Phase 和 取回阶段Fetch Phase默认采用 QUERY_THEN_FETCH 模式。以下是详细流程
一、请求分发与路由 1.1 客户端请求发送 客户端向集群中任意节点成为协调节点发送搜索请求请求包含查询条件、目标索引等参数。 1.2 目标分片定位 协调节点解析请求根据索引路由策略如哈希文档ID确定所有需要查询的主分片或副本分片位置。请求被并行转发至目标分片所在的数据节点。 二、查询阶段Query Phase 2.1 分片本地搜索 每个目标分片独立执行查询 使用 倒排索引 匹配符合条件的文档 ID。 计算文档相关性得分如 BM25 算法。 根据排序规则如得分、时间生成优先级队列Top-N 结果仅存储文档 ID 和排序信息非完整文档。 2.2 返回中间结果 各分片将优先级队列结果文档 ID 排序信息返回给协调节点。 三、结果聚合与排序 3.1 全局结果合并 协调节点聚合所有分片的中间结果 按全局排序规则如相关性得分对所有文档进行重新排序。 根据分页参数from/size筛选最终的候选文档 ID。 四、取回阶段Fetch Phase 4.1 获取完整文档数据 协调节点向候选文档 ID 所在的分片发送多文档获取请求Multi-Get。 各分片返回完整文档内容包括 _source 字段。 4.2 组装最终响应 协调节点整合文档数据补充高亮、聚合结果等附加信息返回给客户端。 五、高级搜索模式 DFS_QUERY_THEN_FETCH 在查询前增加全局词频统计步骤解决分片间评分不一致问题但性能较低。 关键流程总结 注若查询包含聚合Aggregation各分片会先计算局部聚合结果协调节点再汇总生成全局聚合数据。