Milvus 支持通过主键或复杂布尔表达式删除实体。
注意:
如果一致性级别低于Strong,则删除的实体仍然可以在删除后立即检索。 超出Time Travel预设时间范围的删除的实体将无法再次检索。
频繁的删除操作将影响系统性能。 在通过 comlpex 布尔表达式删除实体之前,请确保集合已加载。
通过复杂的布尔表达式删除实体不是原子操作。因此,如果中途失败,仍然可能会删除一些数据。
仅当一致性设置为Bounded时,才支持通过复杂布尔表达式删除实体。
Milvus 支持通过主键或复杂布尔表达式删除实体。
1.简单的表达式
expr = "book_id in [0,1]"
# 选择主键值为0和1的实体
2.复杂表达式
expr = "word_count >= 11000"
expr = "book_id > 5 && word_count <= 9999"
删除后返回一个id列表(由被删除的实体id构成)
from pymilvus import Collection
collection = Collection("book") # Get an existing collection.
collection.delete(expr)
output:
{
"status":{},
"IDs":{"IdField":{"IntId":{"data":[0,1]}}},
"delete_cnt":2,
"timestamp":434262178115092482
}