一文带你入门向量数据库milvus
时间: 2025-02-22 10:27:21 浏览: 77
### Milvus 向量数据库入门教程
#### 一、基本概念与功能概述
Milvus 是一款专为处理非结构化数据设计的强大向量数据库,旨在解决复杂语义关系和高维向量数据的相似性检索问题[^1]。相比于传统的关系型数据库,Milvus 提供了更加智能化和高效的检索方式,适用于需要语义理解和多模态处理的应用场景。
#### 二、安装与环境配置
对于初学者来说,推荐使用 **Milvus Lite** 版本进行本地 Python 程序开发。该版本非常适合初次接触 Milvus 的用户,因为它简单易用且无需复杂的部署流程[^2]。而对于更大规模的数据集或生产环境中,则建议考虑 Docker 或 Kubernetes 部署方案。这些高级部署模式不仅提供了更高的灵活性,还保持了 API 的一致性,使得迁移变得轻松便捷。
#### 三、核心操作指南
##### 创建集合 (Collection)
在开始之前,首先要定义并创建一个新的集合用于存储向量数据:
```python
from pymilvus import CollectionSchema, FieldSchema, DataType, connections, utility
connections.connect("default")
fields = [
FieldSchema(name="id", dtype=DataType.INT64, is_primary=True),
FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=128)
]
schema = CollectionSchema(fields, description="Example collection")
collection = Collection(name="example_collection", schema=schema)
```
##### 插入数据
接着可以往刚刚建立好的集合里插入一些测试数据:
```python
import numpy as np
data = [
[i for i in range(10)], # id field data
[[np.random.rand() * 0.5 for _ in range(128)] for _ in range(10)] # embedding vectors
]
mr = collection.insert(data)
print(f"Number of entities inserted: {len(mr.primary_keys)}")
```
##### 构建索引
为了提高查询效率,在实际应用中通常会对特定字段构建索引来加速搜索速度。这里以 HNSW 索引为例展示如何设置参数并创建索引:
```python
index_params = {
"index_type": "HNSW",
"metric_type": "L2",
"params": {"M": 16, "efConstruction": 64}
}
collection.create_index(field_name="embedding", index_params=index_params)
```
##### 执行搜索
最后一步就是利用已有的索引来进行高效地向量相似度匹配查找:
```python
search_param = {"metric_type": "L2", "params": {"ef": 10}}
results = collection.search(
data=[[0.1]*128], param=search_param, limit=3,
expr=None, output_fields=["id"]
)
for result in results:
print(result)
```
以上便是关于 Milvus 向量数据库的基础入门指导,涵盖了从安装到执行具体任务所需的各个重要环节[^3][^4].
阅读全文
相关推荐

















