fix(core): Update Milvus truncate method for GraphRAG (#2847)

This commit is contained in:
stevenlx96 2025-07-15 13:15:50 +08:00 committed by GitHub
parent 441cb55377
commit 8c14f1981a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -728,14 +728,30 @@ class MilvusStore(VectorStoreBase):
return metadata_filter_expr
def truncate(self):
"""Truncate milvus collection."""
logger.info(f"begin truncate milvus collection:{self.collection_name}")
from pymilvus import utility
"""检测pymilvus安装"""
try:
from pymilvus import Collection, utility
except ImportError:
raise ValueError(
"Could not import pymilvus python package. "
"Please install it with `pip install pymilvus`."
)
"""安全清空 Milvus summary collection 中所有数据,但不删除 collection 本身"""
logger.info(f"Begin truncate Milvus collection: {self.collection_name}")
# 先判断 collection 是否存在
if utility.has_collection(self.collection_name):
utility.drop_collection(self.collection_name)
logger.info(f"truncate milvus collection {self.collection_name} success")
collection = Collection(self.collection_name)
# Load collection 必须调用,才能执行 delete
collection.load()
# 通过pk_id删除所有数据
collection.delete("pk_id >= 0")
# flush 确保数据删除被提交
collection.flush()
logger.info(f"Truncate Milvus collection {self.collection_name} success")
else:
logger.warning(
f"Collection {self.collection_name} not found, skip truncate."
)
def full_text_search(
self, text: str, topk: int = 10, filters: Optional[MetadataFilters] = None