milvus笔记01--部署测试版本milvus
- 3 常见命令
- 4 说明
1 milvus 简介
Milvus 是一款开源的向量相似度搜索引擎,支持针对 TB 级向量的增删改操作和近实时查询,具有高度灵活、稳定可靠以及高速查询等特点。Milvus 集成了 Faiss、NMSLIB、Annoy 等广泛应用的向量索引库,提供了一整套简单直观的 API,让你可以针对不同场景选择不同的索引类型。此外,Milvus 还可以对标量数据进行过滤,进一步提高了召回率,增强了搜索的灵活性。
Milvus 服务器采用主从式架构 (Client-server model)。
在服务端,Milvus 由 Milvus Core 和 Meta Store 两部分组成:
Milvus Core 存储与管理向量和标量数据。
Meta Store 存储与管理 SQLite 和 MySQL 中的元数据,分别用于测试和生产。
在客户端,Milvus 还提供了基于 Python、Java、Go、C++ 的 SDK 和 RESTful API。
Milvus 在 Apache 2 License 协议下发布,于 2019 年 10 月正式开源,是 LF AI 基金会的孵化项目。Milvus 的源代码被托管于 Github。
应用场景
Milvus 在全球范围内已被数百家组织和机构所采用,广泛应用于以下场景:
- 图像、视频、音频等音视频搜索领域
- 文本搜索、推荐和交互式问答系统等文本搜索领域
- 新药搜索、基因筛选等生物医药领域
2 milvus_cpu 部署
前置条件:安装docker,具体可参考笔者博文: docker笔记7–Docker常见操作
2.1 基于sqlite部署milvus
- 下载镜像和配置文件
- docker 启动milvusdb 服务
- docker logs milvus_cpu_0.11.0 查看启动日志,发现正常启动:
2.2 基于mysql部署milvus
基于mysql的部署方式和上面差异不太大,只是需要更改 meta_uri 为mysql的地址即可, 以下在部署sqlite版本的基础上更新为mysql存储元数据;
mysql 配置方式可以参考笔者博文: docker笔记5–配置MySQL
- 使用 docker 启动mysql
- 更新mysql 配置并重启milvus
3 常见命令
注意:若本地下载的是 pymilvus==0.3.0 的pip3包,若拉取 pymilvus git repo 后,需要切换到0.3.0 的版本中,否则执行会报错(不同版本pip包存在不兼容现象);
3.1 api 案例
- 安装pip 包
pip3 install pymilvus==0.3.0 - 下载py 测试代码
wget https://raw.githubusercontent.com/milvus-io/pymilvus/0.3.0/examples/example.py - 运行测试代码
python3 example.py
3.2 RESTful api
github RESTful api, 0.11.0/core/src/server/web_impl
4 说明
参考文档:
milvus 官网milvus 安装概述milvus github 笔者系统为 ubuntu1804 server,Docker version 19.03.14