插入、删除向量
你可以在集合或集合的分区中进行向量操作,本页提供以下内容:
在集合中插入向量
随机生成 20 个 256 维的向量:
>>> import random
# Generate 20 vectors of 256 dimensions.
>>> vectors = [[random.random() for _ in range(256)] for _ in range(20)]
插入向量列表。如果你不指定向量 ID,Milvus 自动为向量分配 ID。
# Insert vectors.
>>> milvus.insert(collection_name='test01', records=vectors)
你也可以自己定义向量 ID:
>>> vector_ids = [id for id in range(20)]
>>> milvus.insert(collection_name='test01', records=vectors, ids=vector_ids)
在分区中插入向量
>>> milvus.insert('test01', vectors, partition_tag="tag01")
通过 ID 删除向量
假设你的集合中存在以下向量 ID:
>>> ids = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
你可以通过以下命令删除向量:
>>> milvus.delete_entity_by_id(collection_name='test01', id_array=ids)
在调用 delete
接口后,用户可以选择再调用 flush
,保证新增的数据可见,被删除的数据不会再被搜到。
常见问题
Milvus 中自定义 ID 有没有长度限制? ID 类型是非负的 64 位整型。 Milvus 可以插入重复 ID 的向量吗? 可以,这样在 Milvus 中会存在相同 ID 的多条向量。 Milvus 是否支持 “边插入边查询” ? 支持。 Milvus 中单次插入数据有上限吗? 单次插入数据不能超过 256 MB。 Milvus 支持的向量维度的最大值是多少? Milvus 最多能够支持 32,768 向量维度。