mirror of
https://gitee.com/milvus-io/milvus.git
synced 2024-12-02 11:59:00 +08:00
[skip ci]Add proxy reduce document (#9374)
Signed-off-by: xiaofan-luan <xiaofan.luan@zilliz.com>
This commit is contained in:
parent
8e93dcbe79
commit
b07025bb72
16
docs/developer_guides/proxy-reduce.md
Normal file
16
docs/developer_guides/proxy-reduce.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# How Proxy Reduce the Multiple Search Results?
|
||||||
|
|
||||||
|
## Search Results Organized format
|
||||||
|
|
||||||
|
For a specified Search request, with nq = 2 and topk = 10, Proxy received 4 search results from query nodes.
|
||||||
|
|
||||||
|
Each Search Result is nq * topk two dimensional structure,as the illustration below. The result indicates that the user has input NQ vectors and wants to obtain the TOPK most similar vectors to these NQ vectors respectively.。
|
||||||
|
|
||||||
|
![search_result_format](./figs/nq_topk_search_results.png)
|
||||||
|
|
||||||
|
For each query, the top k hit results are in descending order of score. The larger the score, the more similar the hit result is to the vector to be queried. The hit results of different queries are independent of each other.
|
||||||
|
|
||||||
|
Therefore, we will only discuss how the proxy merges the results for one query result. For NQ query results, we can loop through NQ or process them in parallel.
|
||||||
|
|
||||||
|
So the problem degenerates to how to get the maximum number of 10 (TOPK) results from these four sorted arrays. As shown in the figure below:
|
||||||
|
![final_result](./figs/reduce_results.png)
|
Loading…
Reference in New Issue
Block a user