Milvus 源码学习系列 | 第 18 章:搜索链路一:Proxy 如何构造 Search 请求
📅 2026/7/8 12:32:41
👁️ 阅读次数
📝 编程学习
上一章我们进入 QueryNode v2,理解了 QueryNode 如何维护 SegmentManager、Pipeline、Delegator、Distribution、DeleteBuffer 和 tSafe。
从查询链路看,QueryNode 已经具备了两个能力:
1. 知道某个 shard 当前有哪些 sealed / growing Segment 可读。 2. 能在指定 guarantee timestamp 下执行 Search / Query。但用户不会直接调用 QueryNode。
用户调用的是 Milvus API:
client.search( collection_name=..., data=..., anns_field=..., search_params=..., expr=..., output_fields=..., consistency_level=..., )这类请求首先进入 Proxy。
所以这一章先不进入 segcore,也不展开 C++ 向量检索细节,而是回答:
Proxy 收到 Search 请求后,如何把一组用户参数变成 QueryNode 能执行的内部请求?本章会重点分析:
编程学习
技术分享
实战经验