Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

At present, the behavior of "search" in Milvus is to return TOPK most similar results for each vector to be queriedsearched.

The purpose of this MEP is to realize "range search" function. User specifies a "radius", Milvus does "range search" and returns to get all results with distance better than this "radius" ("> radius" for IP, "< radius" for other metric types).

This function can be regarded as a "superset" of the existing search function, because . Because if sort the results of range search and take the first `topk` results, we get identical results comparing with current the results returned by search function.

The result output of search and range search are different. The original search Search result is with fixed length 'nq * topk', while the results of range search result is with variable length. Except 'IDs' and 'distances', 'lims' is also returned which is used to record the offset of the range search result of each vector in the result set'ID' and 'DISTANCE' for each vector.

Another MEP pagination 'Pagination' will uniformly process the results of 'search' and 'range search' and return to the client, so the result processing will not be discussed in this MEP.

...