milvus向量数据库安装并使用
时间: 2025-02-21 13:27:57 浏览: 283
### Milvus 向量数据库安装教程
#### 准备工作
为了顺利安装Milvus向量数据库,需提前准备好Docker环境。确保本地计算机已成功安装并配置好Docker服务[^3]。
#### 获取Milvus安装文件
访问GitHub上的官方发布页面获取最新版的Milvus安装包。对于此次安装而言,选择了版本号为2.3.2的记忆体优化版本,并将其命名为`docker-compose.yml`放置于指定路径下以便后续部署操作。
```bash
wget https://github.com/milvus-io/milvus/releases/download/v2.3.2/milvus-standalone-docker-compose.yml -O docker-compose.yml
```
#### 执行安装命令
进入存放`docker-compose.yml`文件所在的目录,在终端输入如下指令启动容器化后的Milvus实例:
```bash
docker-compose up -d
```
此过程将会自动拉取所需镜像并初始化运行环境,完成后即表示Milvus已经成功部署至本机环境中。
---
### 使用方法概述
#### 创建集合(Collection)
在正式存储数据之前,需要定义一个或多个用于容纳实体记录的数据集——也就是所谓的“集合”。这一步骤可以通过Python SDK来实现自动化处理流程[^4]。
```python
from pymilvus import connections, FieldSchema, CollectionSchema, DataType, Collection
connections.connect("default", host="localhost", port="19530")
fields = [
FieldSchema(name="id", dtype=DataType.INT64, is_primary=True),
FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=128)
]
schema = CollectionSchema(fields)
collection_name = "example_collection"
collection = Collection(name=collection_name, schema=schema)
print(f"Successfully created collection: {collection.name}")
```
上述脚本展示了怎样利用PyMilvus库连接远程服务器端口以及构建一个新的带有两个字段结构化的表单对象;其中一个是主键类型而另一个则是用来保存特征向量数组的空间维度设置为128维浮点数形式[^1]。
#### 插入数据项
有了预先设定好的表格框架之后就可以往里面填充实际观测得到的信息条目了。这里同样借助pymilvus提供的API接口完成批量写入动作。
```python
import numpy as np
data_to_insert = [
[i for i in range(10)], # 主键列
[[np.random.rand() * 2 - 1 for _ in range(128)] for _ in range(10)] # 特征向量列表
]
mr = collection.insert(data_to_insert)
print(mr)
```
这段代码片段说明了如何生成随机数值作为测试样本加入到先前建立起来的那个名为`example_collection`的对象里去。每次调用insert函数都会返回有关这次事务的结果报告给开发者查看确认。
#### 查询相似度匹配结果
最后介绍一种非常实用的功能就是基于内容检索机制寻找最接近查询条件的目标元素。下面的例子演示了当给出某个特定模式时系统能够快速定位与其相仿的一系列候选者出来供进一步分析研究之用。
```python
search_params = {"metric_type": "L2", "params": {"nprobe": 10}}
results = collection.search(
data=[[0.5]*128], param=search_params, limit=3
)
for result in results:
print(result.id, result.distance)
```
以上便是针对初次接触Milvus用户的简易入门指导手册,涵盖了从零起步直至掌握基本功能应用在内的全过程讲解。
阅读全文
相关推荐
















