创建、删除集合

本页提供创建或删除集合的 Python 示例代码。

参考 示例程序 获取更详细的使用方式。

创建集合

  1. 准备创建集合所需参数:

    1. # Prepare collection parameters.
    2. >>> param = {'collection_name':'test01', 'dimension':256, 'index_file_size':1024, 'metric_type':MetricType.L2}
  2. 创建集合名为 test01,维度为 256,自动创建索引的数据文件大小为 1024 MB,距离度量方式为欧氏距离(L2)的集合:

    1. # Create a collection.
    2. >>> milvus.create_collection(param)

删除集合

  1. # Drop a collection.
  2. >>> milvus.drop_collection(collection_name='test01')

常见问题

创建集合时 index_file_size 如何设置能达到性能最优?

使用客户端创建集合时有一个 index_file_size 参数,用来指定数据存储时单个文件的大小,其单位为 MB,默认值为 1024。当向量数据不断导入时,Milvus 会把数据增量式地合并成文件。当某个文件达到 index_file_size 所设置的值之后,这个文件就不再接受新的数据,Milvus 会把新的数据存成另外一个文件。这些都是原始向量数据文件,如果建立了索引,则每个原始文件会对应生成一个索引文件。Milvus 在进行搜索时,是依次对每个索引文件进行搜索。

根据我们的经验,当 index_file_size 从 1024 改为 2048 时,搜索性能会有 30% ~ 50% 左右的提升。但要注意如果该值设得过大,有可能导致大文件无法加载进显存(甚至内存)。比如显存只有 2 GB,该参数设为 3 GB,显存明显放不下。

如果向集合中导入数据的频率不高,建议将 index_file_size 的值设为 1024 MB 或者 2048 MB。如果后续会持续地向集合中导入增量数据,为了避免查询时未建立索引的数据文件过大,建议这种情况下将该值设置为 256 MB 或者 512 MB。

可参阅 如何设置 Milvus 客户端参数。 建立集合后,index_file_sizemetric_type 还支持修改吗? 不支持。 Milvus 对集合和分区的总数有限制吗? collection 数量没有限制。每个 collection 内的 partition 总数不能超过 4096 个。 Milvus 支持的向量维度的最大值是多少? Milvus 最多能够支持 32,768 向量维度。