Current state: Under DiscussionAccepted
ISSUE: #6299
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:
- steaming segment
- vector field's index type is FLAT
- 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
...