使用do_bulk_insert报MilvusException:集合不存在,是否需预创建空集合?
关于Milvus do_bulk_insert接口的集合创建问题
问题解答
- 当前版本要求:是的,现在使用
do_bulk_insert必须预先创建带对应Schema的空集合。该接口目前仅负责批量写入数据,不再具备自动创建集合的能力,所以如果目标集合不存在,就会抛出你遇到的错误。 - 旧版本行为:在Milvus 2.3.x及更早的对应SDK版本中,
do_bulk_insert确实支持直接创建集合——只要你在请求中传入完整的集合Schema,接口会自动完成集合创建+数据写入的流程,这也是你几周前使用时没问题的原因。 - 问题原因:你大概率是近期升级了Milvus服务端或者客户端SDK,新版本对
do_bulk_insert的功能做了拆分,把集合创建和数据写入的职责分开了。
解决步骤
- 先通过
create_collection接口(对应你使用的SDK的创建集合方法),传入目标集合的Schema创建空集合; - 再调用
do_bulk_insert写入数据即可。
你的错误信息:
MilvusException: (code=100, message=collection not found[database=default][collection=a552b9ad4_adb1_47e0_9e98_33d913b52757])
内容的提问来源于stack exchange,提问作者user15860511
相关产品推荐
相关产品推荐

