创建、删除集合
本页提供创建或删除集合的 Python 示例代码。
参考 示例程序 获取更详细的使用方式。
创建集合
准备创建集合所需参数:
# Prepare collection parameters.
>>> param = {'collection_name':'test01', 'dimension':256, 'index_file_size':1024, 'metric_type':MetricType.L2}
创建集合名为
test01
,维度为 256,自动创建索引的数据文件大小为 1024 MB,距离度量方式为欧氏距离(L2)的集合:# Create a collection.
>>> milvus.create_collection(param)
删除集合
# Drop a collection.
>>> 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_size
和 metric_type
还支持修改吗? 不支持。 Milvus 对集合和分区的总数有限制吗? collection 数量没有限制。每个 collection 内的 partition 总数不能超过 4096 个。 Milvus 支持的向量维度的最大值是多少? Milvus 最多能够支持 32,768 向量维度。