要使用Python开发与Milvus向量数据库交互的应用,首先需要确保你已经安装了Milvus和相应的Python客户端库。以下是一个简单的示例,展示如何使用Python连接到Milvus数据库,创建一个集合(collection),并插入一些向量数据。`

摘要:有了向量数据库,下一步就该在数据库里创建表,向量库里的表叫集合(Collection),对应关系型数据库的表,这跟mongo库一样,下面先把重要知识点梳理一下: 一、核心概念 集合(Collection):类似关系型数据库的「表」,是存储向
有了向量数据库,下一步就该在数据库里创建表,向量库里的表叫集合(Collection),对应关系型数据库的表,这跟mongo库一样,下面先把重要知识点梳理一下: 一、核心概念 集合(Collection):类似关系型数据库的「表」,是存储向量数据和标量数据的基本单元。 Schema(模式):集合的「结构定义」,规定了集合中字段的名称、数据类型、主键、向量维度等核心属性。 索引(Index):为提升向量 / 标量查询效率而创建的特殊数据结构,Milvus 支持多种索引类型适配不同场景。 加载状态(Load State):Milvus 的集合需要加载到内存才能提供查询服务,分为 Loaded(已加载)和 NotLoaded(未加载)两种状态。 二、向量集合的特点(关键知识点) 主键字段:每个集合必须有且仅有一个主键字段,支持 INT64/VARCHAR 类型,auto_id=False 表示主键需手动赋值(True 则由 Milvus 自动生成); 向量字段:Milvus 核心字段,支持 FLOAT_VECTOR(浮点型)和 BINARY_VECTOR(二进制),dim 必须与插入的向量维度一致(如 512、768 等); 动态字段:enable_dynamic_field=True 是 Milvus 的灵活特性,允许插入 Schema 中未定义的字段(如临时新增的标签、权重等),适合数据结构不固定的场景。 三、索引 标量索引:主键 / 字符串等标量字段常用 STL_SORT(排序索引),适合等值、范围查询; 向量索引:metric_type(度量类型):COSINE(余弦相似度)适合文本向量,L2(欧氏距离)适合图片向量,需根据业务场景选择。 四、加载和分片 加载状态:创建集合时传入 index_params 会自动加载集合到内存(Loaded),无索引则需后续手动调用 client.load_collection() 加载; 分片(Shard):num_shards 用于将集合数据拆分到多个分片,提升并发写入 / 查询性能,分片数需根据数据量和集群节点数调整(单节点集群建议设为 1)。
阅读全文