一架梯子,一头程序猿,仰望星空!
Milvus向量数据库教程 > 内容正文

Milvus CLI命令


Milvus命令

Milvus命令(CLI)是一个支持数据库连接、数据操作以及数据的导入和导出的命令行工具。基于Milvus Python SDK,它允许通过终端使用交互式命令行提示执行命令。

当前版本

Milvus_CLI的当前版本是0.4.0。要查找已安装的版本并确定是否需要更新,请运行milvus_cli --version命令。

安装Milvus_CLI

这里介绍了如何安装Milvus_CLI。

从PyPI安装

您可以从PyPI安装Milvus_CLI。

预备条件

使用pip安装

运行以下命令安装Milvus_CLI。

pip install milvus-cli

使用Docker安装

您可以使用Docker安装Milvus_CLI。

预备条件

需要Docker 19.03或更高版本。

基于Docker镜像安装

$ docker run -it zilliz/milvus_cli:latest

从源代码安装

  1. 运行以下命令下载milvus_cli存储库。
git clone https://github.com/zilliztech/milvus_cli.git
  1. 运行以下命令进入milvus_cli文件夹。
cd milvus_cli
  1. 运行以下命令安装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

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的集合创建别名carAlias1carAlias2

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


关联主题