
上一章我们进入 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 能执行的内部请求?本章会重点分析: