Milvus命令
Milvus命令(CLI)是一个支持数据库连接、数据操作以及数据的导入和导出的命令行工具。基于Milvus Python SDK,它允许通过终端使用交互式命令行提示执行命令。
当前版本
Milvus_CLI的当前版本是0.4.0。要查找已安装的版本并确定是否需要更新,请运行milvus_cli --version
命令。
安装Milvus_CLI
这里介绍了如何安装Milvus_CLI。
从PyPI安装
您可以从PyPI安装Milvus_CLI。
预备条件
- 安装Python 3.8.5或更高版本
- 安装pip
使用pip安装
运行以下命令安装Milvus_CLI。
pip install milvus-cli
使用Docker安装
您可以使用Docker安装Milvus_CLI。
预备条件
需要Docker 19.03或更高版本。
基于Docker镜像安装
$ docker run -it zilliz/milvus_cli:latest
从源代码安装
- 运行以下命令下载
milvus_cli
存储库。
git clone https://github.com/zilliztech/milvus_cli.git
- 运行以下命令进入
milvus_cli
文件夹。
cd milvus_cli
- 运行以下命令安装Milvus_CLI。
python -m pip install --editable .
或者,您还可以从压缩的tarball(.tar.gz
文件)安装Milvus_CLI。下载 tarball,然后运行python -m pip install milvus_cli-.tar.gz
。
从.exe文件安装
此安装方法仅适用于Windows。
从GitHub下载一个.exe文件,然后运行它以安装Milvus_CLI。如果成功,将会弹出milvus_cli-.exe
,如下图所示。
Milvus_CLI命令参考
这里介绍了所有支持的命令及其对应的选项。还包括一些示例供参考。
clear
清除屏幕内容。
语法
clear
选项
选项 | 完整名称 | 描述 |
---|---|---|
—help | 无 | 显示使用该命令的帮助信息。 |
connect
连接到Milvus。
语法
connect [-uri (text)] [-t (text)]
选项
选项 | 完整名称 | 描述 |
---|---|---|
-uri | —uri | (可选)uri名称。默认为 “http://127.0.0.1:19530“。 |
-t | —token | (可选)zilliz cloud apikey或username:password 。默认为None。 |
—help | 无 | 显示使用该命令的帮助信息。 |
示例
milvus_cli > connect -uri http://127.0.0.1:19530
create Database
在Milvus中创建数据库。
语法
create database -db (text)
选项
选项 | 完整名称 | 描述 |
---|---|---|
-db | —database | [必选]在milvus中的数据库名称。 |
—help | 无 | 显示使用该命令的帮助信息。 |
示例
示例1
以下示例在Milvus中创建名为testdb
的数据库。
milvus_cli > create database -db testdb
使用数据库
在Milvus中使用数据库
语法
use database -db (text)
选项
选项 | 全称 | 描述 |
---|---|---|
-db | —database | [必填] Milvus中的数据库名称。 |
—help | n/a | 显示使用命令的帮助。 |
示例
示例1
以下示例在Milvus中使用名为testdb
的数据库。
milvus_cli > use database -db testdb
列出数据库
在Milvus中列出数据库
语法
list databases
示例
示例1
以下示例列出Milvus中的数据库。
milvus_cli > list databases
删除数据库
在Milvus中删除数据库
语法
delete database -db (text)
选项
选项 | 全称 | 描述 |
---|---|---|
-db | —database | [必填] Milvus中的数据库名称。 |
—help | n/a | 显示使用命令的帮助。 |
示例
示例1
以下示例删除Milvus中的名为testdb
的数据库。
milvus_cli > delete database -db testdb
创建用户
在Milvus中创建用户
语法
create user -u (text) -p (text)
选项
选项 | 全称 | 描述 |
---|---|---|
-p | —password | Milvus中的用户密码。默认值为”None”。 |
-u | —username | Milvus中的用户名。默认值为”None”。 |
—help | n/a | 显示使用命令的帮助。 |
示例
示例1
以下示例在Milvus中创建用户名为zilliz
,密码为zilliz
的用户。
milvus_cli > create user -u zilliz -p zilliz
创建别名
为集合指定唯一别名。
一个集合可以有多个别名,但一个别名只对应一个集合。
语法
create alias -c (text) -a (text) [-A]
选项
选项 | 全称 | 描述 |
---|---|---|
-c | —collection-name | 集合的名称。 |
-a | —alias-name | 别名。 |
-A | —alter | (可选)将别名转移到指定的集合的标志。 |
—help | n/a | 显示使用命令的帮助。 |
示例
示例1
以下示例为名为car
的集合创建别名carAlias1
和carAlias2
。
milvus_cli > create alias -c car -a carAlias1
示例2
示例2基于示例1。
以下示例将carAlias1
别名从car
集合转移到car2
集合。
milvus_cli > create alias -c car2 -A -a carAlias1
创建集合
创建集合。
语法
create collection -c (text) -f (text) -p (text) [-a] [-d (text)]
选项
选项 | 完整名称 | 描述 |
---|---|---|
-c | —collection-name | 集合的名称。 |
-f | —schema-field | (多个) 以 :: 格式的字段模式。 |
-p | —schema-primary-field | 主键字段的名称。 |
-a | —schema-auto-id | (可选) 自动生成ID的标记。 |
-desc | —schema-description | (可选) 集合的描述。 |
-level | —consistency-level | (可选) 一致性级别: Bounded,Session,Strong, Eventual 。 |
-d | —is-dynamic | (可选) 集合模式是否支持动态字段。 |
-s | —shards-num | (可选) Shard的数量。 |
—help | n/a | 显示命令使用帮助。 |
示例
milvus_cli > 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'
创建分区
创建一个分区。
语法
create partition -c (text) -p (text) [-d (text)]
选项
选项 | 完整名称 | 描述 |
---|---|---|
-c | —collection-name | 集合的名称。 |
-p | —partition | 分区的名称。 |
-d | —description | (可选) 分区的描述。 |
—help | n/a | 显示命令使用帮助。 |
示例
milvus_cli > create partition -c car -p new_partition -d test_add_partition
创建索引
为字段创建索引。
当前,一个集合最多支持一个索引。
语法
create index
选项
选项 | 完整名称 | 描述 |
---|---|---|
—help | n/a | 显示命令使用帮助。 |
示例
要为字段创建索引并提示输入所需信息:
milvus_cli > create index
Collection name (car, car2): car2
要为其创建索引的字段名称 (vector): vector
索引名称: vectorIndex
索引类型 (FLAT, IVF_FLAT, IVF_SQ8, IVF_PQ, RNSG, HNSW, ANNOY, AUTOINDEX, DISKANN, ) []: IVF_FLAT
索引度量类型 (L2, IP, HAMMING, TANIMOTO,): L2
索引参数 nlist: 2
超时 []:
删除用户
删除用户。
语法
delete user -u (text)
选项
选项 | 完整名称 | 描述 |
---|---|---|
-u | —username | 用户名。 |
—help | n/a | 显示命令使用帮助。 |
示例
milvus_cli > delete user -u zilliz
删除别名
删除别名。
语法
delete alias -a (text)
选项
选项 | 完整名称 | 描述 |
---|---|---|
-a | —alias-name | 别名。 |
—help | n/a | 显示命令使用帮助。 |
删除集合
删除集合。
语法
delete collection -c (text)
选项
选项 | 完整名称 | 描述 |
---|---|---|
-c | —collection-name | 要删除的集合的名称。 |
—help | n/a | 显示命令使用帮助。 |
示例
milvus_cli > delete collection -c car
删除实体
删除实体。
语法
delete entities -c (text) -p (text)
选项
选项 | 全名 | 描述 |
---|---|---|
-c | —collection-name | 要删除实体所属的集合的名称。 |
-p | —partition | (可选)要删除的分区的名称。 |
—help | n/a | 显示如何使用该命令的帮助信息。 |
示例
milvus_cli > delete entities -c 车辆
用于指定要删除的实体的表达式,比如“电影ID在[0,1]”:电影ID在[0,1]
您正在尝试删除集合的实体。此操作无法撤销!
是否要继续?[y/N]: y
删除分区
删除分区。
语法
delete partition -c (文本) -p (文本)
选项
选项 | 全名 | 描述 |
---|---|---|
-c | —collection-name | 要删除分区所属的集合的名称。 |
-p | —partition | 要删除的分区的名称。 |
—help | n/a | 显示如何使用该命令的帮助信息。 |
示例
milvus_cli > delete partition -c 车辆 -p 新分区
删除索引
删除索引及相应的索引文件。
当前,一个集合最多支持一个索引。
语法
delete index -c (文本) -in (文本)
选项
选项 | 全名 | 描述 |
---|---|---|
-c | —collection-name | 集合的名称。 |
-in | —index-name | 索引的名称。 |
—help | n/a | 显示如何使用该命令的帮助信息。 |
示例
milvus_cli > delete index -c 车辆 -in 索引名称
描述集合
显示集合的详细信息。
语法
show collection -c (文本)
选项
选项 | 全名 | 描述 |
---|---|---|
-c | —collection-name | 集合的名称。 |
—help | n/a | 显示如何使用该命令的帮助信息。 |
示例
milvus_cli > show collection -c test_collection_insert
描述分区
显示分区的详细信息。
语法
show partition -c (文本) -p (文本)
选项
选项 | 全名 | 描述 |
---|---|---|
-c | —collection-name | 分区所属的集合的名称。 |
-p | —partition | 分区的名称。 |
—help | n/a | 显示如何使用该命令的帮助信息。 |
示例
milvus_cli > show partition -c test_collection_insert -p _default
描述索引
显示索引的详细信息。
语法
show index -c (文本) -in (文本)
选项
选项 | 全名 | 描述 |
---|---|---|
-c | —collection-name | 集合的名称。 |
-in | —index-name | 索引的名称。 |
—help | n/a | 显示如何使用该命令的帮助信息。 |
示例
milvus_cli > show index -c test_collection -in index_name
退出
关闭命令行窗口。
语法
exit
选项
选项 | 全名 | 描述 |
---|---|---|
—help | n/a | 显示如何使用该命令的帮助信息。 |
帮助
显示命令的帮助信息。
语法
帮助
命令
命令 | 描述 |
---|---|
calc | 计算两个向量数组之间的距离,可以是mkts_from_hybridts、mkts_from_unixtime、hybridts_to_unixtime。 |
clear | 清除屏幕。 |
connect | 连接到 Milvus。 |
create | 创建集合、分区、索引或别名。 |
delete | 删除集合、分区、索引、实体或别名。 |
describe | 描述集合、分区或索引。 |
exit | 关闭命令行窗口。 |
help | 显示命令的帮助信息。 |
import | 将数据导入到分区中。 |
list | 列出集合、分区或索引。 |
load | 将集合或分区加载到内存中。 |
load_balance | 在查询节点上执行负载均衡。 |
query | 显示满足所有输入条件的查询结果。 |
release | 释放集合或分区。 |
search | 执行向量相似度搜索或混合搜索。 |
show | 显示当前集合、实体加载进度、实体索引进度或段信息。 |
version | 显示 Milvus_CLI 的版本。 |
import
将本地或远程数据导入到分区。
语法
import -c (text)[-p (text)]
选项
选项 | 全名 | 描述 |
---|---|---|
-c | —collection-name | 要插入数据的集合名称。 |
-p | —partition | (可选)要插入数据的分区名称。不传递此分区选项表示选择“_default”分区。 |
—help | n/a | 显示使用该命令的帮助信息。 |
示例1
以下示例导入本地 CSV 文件。
milvus_cli > import -c car 'examples/import_csv/vectors.csv'
读取 csv 文件... [####################################] 100%
列名为 ['vector', 'color', 'brand']
处理了 50001 行。
插入中 ...
成功插入。
-------------------------- ------------------
总共插入实体数: 50000
总集合实体数: 150000
Milvus 时间戳: 428849214449254403
-------------------------- ------------------
示例2
以下示例导入远程 CSV 文件。
milvus_cli > import -c car 'https://raw.githubusercontent.com/milvus-io/milvus_cli/main/examples/import_csv/vectors.csv'
从远程 URL 读取文件。
读取 csv 文件... [####################################] 100%
列名为 ['vector', 'color', 'brand']
处理了 50001 行。
插入中 ...
成功插入。
-------------------------- ------------------
总共插入实体数: 50000
总集合实体数: 150000
Milvus 时间戳: 428849214449254403
-------------------------- ------------------
list users
列出所有用户。
语法
list users
选项
选项 | 全名 | 描述 |
---|---|---|
—help | n/a | 显示使用该命令的帮助信息。 |
list collections
列出所有集合。
语法
list collections
选项
选项 | 全名 | 描述 |
---|---|---|
—help | n/a | 显示使用该命令的帮助信息。 |
list indexes
列出集合的所有索引。
目前,一个集合最多支持一个索引。
语法
list indexes -c (text)
选项
选项 | 全名 | 描述 |
---|---|---|
-c | —collection-name | 集合的名称。 |
—help | n/a | 显示使用该命令的帮助信息。 |
list partitions
列出集合的所有分区。
语法
list partitions -c (text)
选项
选项 | 全名 | 描述 |
---|---|---|
-c | —collection-name | 集合的名称。 |
—help | n/a | 显示使用该命令的帮助信息。 |
load
将集合或分区从硬盘加载到内存中。
语法
load -c (text) [-p (text)]
选项
选项 | 全名 | 描述 |
---|---|---|
-c | —collection-name | 分区所属的集合的名称。 |
-p | —partition | (可选/多个)分区的名称。 |
—help | n/a | 显示使用该命令的帮助信息。 |
查询
显示与您输入的所有条件匹配的查询结果。
语法
query
选项
选项 | 全名 | 描述 |
---|---|---|
—help | n/a | 显示使用该命令的帮助信息。 |
示例
示例1
执行查询并提示输入所需的信息:
milvus_cli > query
集合名称:car
查询表达式:id 在 [ 428960801420883491, 428960801420883492,
428960801420883493 ] 中
包含实体的分区名称(多个用逗号分隔) []:
default
返回字段列表(多个用逗号分隔) []:color, brand
超时时间 []:
保证时间戳。这指示Milvus在所提供时间戳之前执行的所有操作。如果没有提供此类时间戳,则Milvus将搜索到目前为止执行的所有操作。 [0]:
Graceful时间。仅在有界一致性级别中使用。如果设置了graceful_time,则PyMilvus将当前时间戳减去graceful_time用作保证时间戳。如果未设置此选项,默认值为5秒。 [5]:
示例2
执行查询并提示输入所需的信息:
milvus_cli > query
集合名称:car
查询表达式:id > 428960801420883491
包含实体的分区名称(多个用逗号分隔) []:
default
返回字段列表(多个用逗号分隔) []:id, color,
brand
超时时间 []:
保证时间戳。这指示Milvus在所提供时间戳之前执行的所有操作。如果没有提供此类时间戳,则Milvus将搜索到目前为止执行的所有操作。 [0]:
Graceful时间。仅在有界一致性级别中使用。如果设置了graceful_time,则PyMilvus将当前时间戳减去graceful_time用作保证时间戳。如果未设置此选项,默认值为5秒。 [5]:
释放
释放集合或分区的RAM。
语法
release -c (text) [-p (text)]
选项
选项 | 全名 | 描述 |
---|---|---|
-c | —collection-name | 分区所属的集合的名称。 |
-p | —partition | (可选/多个)分区的名称。 |
—help | n/a | 显示使用该命令的帮助信息。 |
搜索
执行矢量相似性搜索或混合搜索。
语法
search
选项
选项 | 全名 | 描述 |
---|---|---|
—help | n/a | 显示使用该命令的帮助信息。 |
示例
示例1
在csv文件上执行搜索并提示输入所需的信息:
milvus_cli > search
集合名称(car, test_collection):car
搜索数据的向量(数据的长度为查询数(nq),数据中每个向量的维度必须与集合的向量字段相等。您也可以导入一个csv文件
出头):examples/import_csv/search_vectors.csv
用于搜索集合的向量字段(向量):vector
度量类型:L2
搜索参数nprobe的值:10
返回记录的最大数量,也称为topk:2
用于过滤属性的布尔表达式 []:id > 0
要搜索的分区名称(多个用逗号分隔) ['_default'] []:_default
超时时间 []:
保证时间戳(它指示Milvus在所提供时间戳之前执行的所有操作。如果没有提供此类时间戳,则Milvus将搜索到目前为止执行的所有操作)[0]:
示例 2
执行对索引集合的搜索,并提示输入所需的参数:
milvus_cli > search
输入集合名称(如 car, test_collection):car
搜索的向量数据(数据的长度为查询数据的数量(nq),每个向量的维度必须和集合中的向量字段的维度相等。也可以导入一个没有标题行的csv文件):
[[0.71, 0.76, 0.17, 0.13, 0.42, 0.07, 0.15, 0.67, 0.58, 0.02, 0.39, 0.47, 0.58, 0.88, 0.73, 0.31, 0.23, 0.57, 0.33, 0.2, 0.03, 0.43, 0.78, 0.49, 0.17, 0.56, 0.76, 0.54, 0.45, 0.46, 0.05, 0.1, 0.43, 0.63, 0.29, 0.44, 0.65, 0.01, 0.35, 0.46, 0.66, 0.7, 0.88, 0.07, 0.49, 0.92, 0.57, 0.5, 0.16, 0.77, 0.98, 0.1, 0.44, 0.88, 0.82, 0.16, 0.67, 0.63, 0.57, 0.55, 0.95, 0.13, 0.64, 0.43, 0.71, 0.81, 0.43, 0.65, 0.76, 0.7, 0.05, 0.24, 0.03, 0.9, 0.46, 0.28, 0.92, 0.25, 0.97, 0.79, 0.73, 0.97, 0.49, 0.28, 0.64, 0.19, 0.23, 0.51, 0.09, 0.1, 0.53, 0.03, 0.23, 0.94, 0.87, 0.14, 0.42, 0.82, 0.91, 0.11, 0.91, 0.37, 0.26, 0.6, 0.89, 0.6, 0.32, 0.11, 0.98, 0.67, 0.12, 0.66, 0.47, 0.02, 0.15, 0.6, 0.64, 0.57, 0.14, 0.81, 0.75, 0.11, 0.49, 0.78, 0.16, 0.63, 0.57, 0.18]]
用于搜索的向量字段(如 vector):
距离度量类型:L2
搜索参数 nprobe 的值:10
返回距离的小数位数 [-1]:5
返回的记录数量(也称为 topk):2
用于过滤属性的布尔表达式 []:id > 0
要搜索的分区名称(如果有多个,请用逗号分隔) ['_default'] []:_default
超时时间 []:
保证时间戳(告诉 Milvus 查看指定时间戳之前执行的所有操作。如果没有提供时间戳,则 Milvus 会搜索到目前为止执行的所有操作)[0]:
示例 3
要对非索引集合执行搜索并提示输入所需的内容:
milvus_cli > search
集合名称(car, car2):car
搜索数据的向量(数据长度为查询数量(nq),数据中每个向量的维度必须等于集合的向量字段。您也可以导入一个没有标题的csv文件):examples/import_csv/search_vectors.csv
用于搜索集合的向量字段(vector):vector
返回距离的小数位数(-1表示全部位数):5
返回的最大记录数,也称为topk:2
用于过滤属性的布尔表达式:[]
要搜索的分区名称(如果有多个,请使用“,”分隔):['_default'] []
超时时间:[]
保证时间戳(它指示Milvus在提供的时间戳之前查看执行的所有操作。如果没有提供该时间戳,Milvus将搜索到目前为止执行的所有操作):[0]
列出连接
列出连接。
语法
list connections
选项
选项 | 完整名称 | 描述 |
---|---|---|
—help | n/a | 显示使用该命令的帮助信息。 |
show index_progress
显示实体索引的进度。
语法
show index_progress -c (text) [-i (text)]
选项
选项 | 完整名称 | 描述 |
---|---|---|
-c | —collection-name | 实体所属的集合的名称。 |
-i | —index | (可选)索引的名称。 |
—help | n/a | 显示使用该命令的帮助信息。 |
show loading_progress
显示实体加载的进度。
语法
show loading_progress -c (text) [-p (text)]
选项
选项 | 完整名称 | 描述 |
---|---|---|
-c | —collection-name | 实体所属的集合的名称。 |
-p | —partition | (可选/多个)加载分区的名称。 |
—help | n/a | 显示使用该命令的帮助信息。 |
version
显示 Milvus_CLI 的版本。
语法
version
选项
选项 | 完整名称 | 描述 |
---|---|---|
—help | n/a | 显示使用该命令的帮助信息。 |
您还可以在shell中检查 Milvus_CLI 的版本,如下例所示。在这种情况下,milvus_cli --version
充当命令。
示例
$ milvus_cli --version
Milvus_CLI v0.4.0