管理标量Indexes
更新时间:
本篇为您介绍如何在Milvus中为标量字段(包括整数、字符串等非向量属性)创建索引,以实现对标量元数据的有效过滤。与传统关系型数据库中的索引作用相似,Milvus中的标量字段索引旨在加速对非向量属性的查询筛选过程,提升数据检索效率。
前提条件
已在本地客户端成功安装了PyMilvus库,并将其更新至当前最新版本。
如果您尚未在本地客户端安装PyMilvus库,或者需要将其更新至当前最新版本,您可以执行以下命令。
pip install --upgrade pymilvus
已创建Milvus实例,请参见详情快速创建Milvus实例。
创建索引
自动索引
在创建索引时无需指定index_type
参数。Milvus会依据标量字段的实际数据类型(如整数、字符串等),自动选择合适的索引类型进行创建。
from pymilvus import MilvusClient
client = MilvusClient(
uri="http://c-xxxx.milvus.aliyuncs.com:19530", # Milvus实例的公网地址。
token="<yourUsername>:<yourPassword>", # 登录Milvus实例的用户名和密码。
db_name="default" # 待连接的数据库名称,本文示例为默认的default。
)
index_params = client.prepare_index_params()
index_params.add_index(
field_name="scalar_field_1", # 声明需要创建index的标量字段。
index_name="default_index" # index名称。
)
client.create_index(
collection_name="<yourCollectionname>", # 声明index所属的Collection。
index_params=index_params
)
自定义索引
在创建索引时通过指定index_type
参数,您可以选择希望使用的索引类型。
from pymilvus import MilvusClient
client = MilvusClient(
uri="http://c-xxxx.milvus.aliyuncs.com:19530", # Milvus实例的公网地址。
token="<yourUsername>:<yourPassword>", # 登录Milvus实例的用户名和密码。
db_name="default" # 待连接的数据库名称,本文示例为默认的default。
)
index_params = client.prepare_index_params()
index_params.add_index(
field_name="scalar_field_2", # 声明需要创建index的标量字段。
index_type="STL_SORT", # index类型,可以为INVERTED、STL_SORT和Trie。
index_name="stl_sort_index" # index名称。
)
client.create_index(
collection_name="<yourCollectionname>",
index_params=index_params
)
查看索引
您可以使用list_indexes函数查看标量索引信息。
client.list_indexes(
collection_name="<yourCollectionname>"
)
文档内容是否对您有帮助?