Versions Compared

Key

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

Current state: Under DiscussionAccepted

ISSUE: #6299

PRs: #6570 #6598 #6671

Keywords: Query / Search / Vector

Released: Milvus 2.0rc3


Summary

Using This project is to use minimal memory consumption, let `search` or `query` operation support query support to return vector raw data field in output fields.

Motivation

In Milvus 2.0rc1, operations like search or query do not support return vector raw data in output fieldsfield in output. Proxy will check query request's output fields, if find their data types contain

float vector or binary vector, proxy error out. This is from for the consideration of memory consumption,

because vector field with big dimension will occupy hundreds of times of memory comparing with scalar field. So in general generally load_collection or load_partition only

only load scalar fields' raw data into memory. Vector fields' raw data is loaded into memory only in 3 cases:

  1. steaming segment
  2. vector field's index type is FLAT
  3. vector field's index has not been created

If vector's raw data has been loaded into memory, query has already supported to return vector field in output

Design Details

  • Add new field VectorFieldInfo into segment struct to record return vector field related information  

...