建立标量索引(build_scalar_index)

标量字段上建立索引

本指南描述了如何在标量字段上建立索引。

与向量不同,标量只有大小而没有方向。Milvus将单个数字和字符串视为标量。在Milvus中,这里是标量字段的可用数据类型列表

从Milvus v2.1.0开始,为标量字段构建索引可以加速属性过滤混合搜索中的应用。您可以在此处了解更多关于标量字段索引的信息。

构建索引

对于标量字段,您无需设置任何索引参数即可构建索引。标量字段索引名称的默认值为 default_idx,您可以将其设置为适合的其他值。

以下代码片段假设已经存在一个名为“book”的 collection,并且在字符串字段“book_name”上创建了一个索引。

from pymilvus import Collection
 
collection = Collection("book")   
collection.create_index(
  field_name="book_name", 
  index_name="scalar_index",
)
collection.load()
 

索引创建完成后,可以在向量相似度搜索中包含此字符串字段的布尔表达式,如下所示:

search_param = {
  "data": [[0.1, 0.2]],
  "anns_field": "book_intro",
  "param": {"metric_type": "L2", "params": {"nprobe": 10}},
  "limit": 2,
  "expr": "book_name like "Hello" ", 
}
res = collection.search(**search_param)
 

接下来的步骤