1.安装
目前官方提供 单机模式、集群模式、离线模式三种安装方式,目前milvus都是基于docker 容器方式按照,其中单机模式使用docker-compose方式,集群模式主要是依托K8S实现的。本文主要介绍单机按照模式
1.1Download the YAMLfile
下载
milvus-standalone-docker-compose。yml docker-compose并保存它。yml手动或使用下面的命令。
wget https://github.com/milvus-io/milvus/releases/download/v2.2.11/milvus-standalone-docker-compose.yml -O docker-compose.yml
1.2 启动安装milvus
docker-compose在同一个目录下。yml文件,启动Milvus通过运行:
docker-compose up -d
运行docker-compose up 命令后会下载三个镜像 etcd 、minio还有milvus 这个也很好理解etcd 应该是内部集群数据初始化保存程序运行基础数据,minio 存储一些 非结构化数据使用所以需要大量文件存储使用。(以上镜像下载可能比较慢,需要用国内阿里源来实现镜像加速,这里就不开展说明)
启动后程序如下端口和服务
其中 etcd 占用 2380端口,9000是minio对内提供服务端口,Milvus对外提2个端口一个是9091,一个是19530
2.连接 milvus
验证本地端口Milvus服务器监听。将容器名称替换为你自己的。
docker port milvus-standalone 19530/tcp
你可以连接到Milvus集群使用当地的这个命令返回的IP地址和端口号。
3.停止milvus
停止Milvus独立运行:
docker-compose down
4.使用
Milvus 提供cli 客户端工具来连接数据库,我可以在github下载该工具
https://github.com/milvus-io/milvus_cli
这里要注意客户端cli需要和服务端版本对应上,他们之间的版本对应关系可以参考:
https://milvus.io/docs/cli_overview.md
我这里下载milvus_cli 是0.3.3
下载放到 windows 文件夹即可:
下面介绍这个客户端工具如何使用
cd D:\工作临时\2023\2023-6\2023年6月26日
C:\Users\zhouhui>d:
milvus_cli.exe
输入命令行后进入cli 窗口
4.1 连接数据库
connect -h 192.168.210.16 -p 19530 -a default
这样我们就连接到 远程192.168.210.16 这个远程数据库上了。
4.2 创建集合
create collection -c car -f id:INT64:primary_field -f vector:FLOAT_VECTOR:128 -f color:INT64:color -f brand:INT64:brand -p id -a -d 'car_collection'
以上语句创建一个car的 集合
官方文档中提供多种客户端SDK方式连接,python,Java 、go 、 node.js 、cli 、curl
这里我只举例CLI 方式。
输入help 可以查看到milvus_cli 常用命令,这个里面我们就不详细展开
4.3 导入数据
import -c (text)[-p (text)][-t (float)] <file_path>
这里面我了例子:
import -c car 'D:\工作临时\2023\2023-7\2023年7月11日\vectors.csv'
4.4 查询
query
id in [ 428960801420883491, 428960801420883492,
以上简单介绍了向量数据库milvus 和使用,详细可以参考官方文档https://milvus.io/docs
milvus 不仅仅支持以上以上csv文本的搜索以下搜索方式
- 图片检索系统:以图搜图,从海量数据库中即时返回与上传图片最相似的图片。
- 视频检索系统:将视频关键帧转化为向量并插入 Milvus,便可检索相似视频,或进行实时视频推荐。
- 音频检索系统:快速检索海量演讲、音乐、音效等音频数据,并返回相似音频。
- 分子式检索系统:超高速检索相似化学分子结构、超结构、子结构。
- 推荐系统:根据用户行为及需求推荐相关信息或商品。
- 智能问答机器人:交互式智能问答机器人可自动为用户答疑解惑。
- DNA 序列分类系统:通过对比相似 DNA 序列,仅需几毫秒便可精确对基因进行分类。
- 文本搜索引擎:帮助用户从文本数据库中通过关键词搜索所需信息。
以上搜索方式是结构化数据库所不具备的功能。下面列举几个截图
知识问答
图片搜索
图视搜索