管理標量Indexes
更新時間:
本篇為您介紹如何在Milvus中為標量字段(包括整數、字符串等非向量屬性)創(chuàng)建索引,以實現(xiàn)對標量元數據的有效過濾。與傳統(tǒng)關系型數據庫中的索引作用相似,Milvus中的標量字段索引旨在加速對非向量屬性的查詢篩選過程,提升數據檢索效率。
前提條件
已在本地客戶端成功安裝了PyMilvus庫,并將其更新至當前最新版本。
如果您尚未在本地客戶端安裝PyMilvus庫,或者需要將其更新至當前最新版本,您可以執(zhí)行以下命令。
pip install --upgrade pymilvus
已創(chuàng)建Milvus實例,請參見詳情快速創(chuàng)建Milvus實例。
創(chuàng)建索引
自動索引
在創(chuàng)建索引時無需指定index_type
參數。Milvus會依據標量字段的實際數據類型(如整數、字符串等),自動選擇合適的索引類型進行創(chuàng)建。
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", # 聲明需要創(chuàng)建index的標量字段。
index_name="default_index" # index名稱。
)
client.create_index(
collection_name="<yourCollectionname>", # 聲明index所屬的Collection。
index_params=index_params
)
自定義索引
在創(chuàng)建索引時通過指定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", # 聲明需要創(chuàng)建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>"
)
文檔內容是否對您有幫助?