数据类型
本文档详细介绍了向量检索服务Milvus版(简称Milvus)支持的各类向量与标量数据类型,包括其存储格式、适用字段及典型应用场景,帮助用户根据业务需求选择最合适的数据类型。
|
数据类型 |
适用字段 |
存储格式 |
使用场景 |
|
BINARY_VECTOR |
向量字段 |
每个维度仅用1个比特(bit) 表示0或1,无指数位、尾数位和符号位,直接存储二进制数据。 |
适用于稀疏向量,在图像处理和信息检索场景中,它们是表示数据的紧凑特征。 |
|
FLOAT_VECTOR |
32位单精度浮点数。 |
适用于通用高精度向量搜索 |
|
|
FLOAT16_VECTOR |
半精度浮点数向量,采用5位指数位 + 10位尾数位 + 1位符号位的格式。 |
适用于尾数精度较高(小数点后保留更多位数)的场景,如 bge-large 等模型生成的嵌入向量。 |
|
|
BFLOAT16_VECTOR |
16 浮点数向量,采用8位指数位 + 7位尾数位 + 1位符号位的格式。 |
适用于向量数值范围较大(更多bit位表达整数)的场景。 |
|
|
SPARSE_FLOAT_VECTOR |
长度可变小于32位,不存储全量维度,仅保存非零元素的索引和对应的 float 值。 |
适用于文本 TF-IDF、超高维 one-hot |
|
|
INT8_VECTOR |
8 位有符号整数(int8)组成的向量,每个分量的范围为-128 到 127。 |
适用于量化索引,提高推理速度,同时只造成极小的精度损失。注:该向量类型仅支持 HNSW 索引。 |
|
|
STRING |
|
字符串。 |
适用于文本类标签、分类名称、唯一标识符 ID、短描述、状态码、关键词等离散的、非数值型的分类信息。 |
|
INT64 |
64 位整数。 |
适用于需要大范围整数值的标量属性信息。 |
|
|
INT32 |
标量字段 |
32 位整数。 |
适合存储一般整数数据,如产品数量或用户 ID。 |
|
INT16 |
16 位整数。 |
适用于中等范围整数数据。 |
|
|
INT8 |
8 位整数。 |
适合存储小范围整数数据。 |
|
|
BOOL |
布尔类型。 |
用于存储true或false ,适合描述二进制状态。 |
|
|
DOUBLE |
64 位双精度浮点数。 |
用于高精度数据,如财务信息或科学计算。 |
|
|
FLOAT |
32 位浮点数。 |
适用于需要一般精度的数据,如等级或温度。 |
|
|
ARRAY |
数组类型,存储一组相同类型的数据元素。接受 Milvus 支持的任何标量数据类型,但JSON 除外。 |
适用于一个标量字段包含多个同类型的元素集合。 |
|
|
JSON |
JSON格式,例如 |
存储结构灵活、嵌套复杂或动态变化的属性集合。 |