[skip ci]Add proxy reduce document (#9374)

Signed-off-by: xiaofan-luan <xiaofan.luan@zilliz.com>
This commit is contained in:
Xiaofan 2021-10-07 02:12:00 +08:00 committed by GitHub
parent 8e93dcbe79
commit b07025bb72
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View 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 structureas 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)