milvus数据库索引管理
一、建立向量索引
默认情况下,Milvus不会对小于1,024行的段进行索引。
1.准备索引参数
index_params = {
"metric_type":"L2",
"index_type":"IVF_FLAT",
"params":{"nlist":1024}
}
#"nlist" 指定了分成的子集数量,这里设置为 1024,表示将数据集分成 1024 个子集。每个子集包含数据的一部分,用于加速相似性搜索操作。
2.建立索引
通过指定索引的向量字段名和索引参数
from pymilvus import Collection, utility
collection = Collection("book")
collection.create_index(
field_name="book_intro",
index_params=index_params
)
utility.index_building_progress("book")
二、建立标量索引
不需要复杂的参数,直接建立即可
from pymilvus import Collection
collection = Collection("book")
collection.create_index(
field_name="book_name",
index_name="scalar_index",
)
collection.load()
在建立完成后,就可以在搜索时使用。便于混合搜索时进行前置过滤
三、删除索引
1.删除一个集合的唯一索引
from pymilvus import Collection
collection = Collection("book") # Get an existing collection.
collection.drop_index()
2.删除指定索引
from pymilvus import Collection
collection = Collection("book")
collection.drop_index(index_name='book_intro')
要删除多个索引,您可以多次调用 drop_index 方法,每次传递要删除的索引名称或索引类型。