@@ -54,6 +54,17 @@ def query(self, query: str, index: str, top_k: int = 0) -> list:
5454 logger .error (f"Failed to search from Redis: index={ index } error={ e } " )
5555 raise e
5656
57+ def delete (self , index : str ) -> bool :
58+ logger .debug (f"Deleting key from Redis database: index={ index } " )
59+ try :
60+ self .client .delete (key = index )
61+ return True
62+ except Exception as e :
63+ logger .error (
64+ f"Failed to delete key from Redis database: index={ index } error={ e } "
65+ )
66+ return False
67+
5768 def delete_doc (self , index : str , id : str ) -> bool :
5869 logger .debug (f"Deleting document from Redis database: index={ index } id={ id } " )
5970 try :
@@ -135,6 +146,17 @@ def query(self, query: str, index: str, top_k: int) -> list[str]:
135146
136147 return [item ["data" ] for item in results ]
137148
149+ def delete (self , index : str ) -> bool :
150+ logger .debug (f"Deleting table from SQL database: table_name={ index } " )
151+ try :
152+ self .client .delete (table = index )
153+ return True
154+ except Exception as e :
155+ logger .error (
156+ f"Failed to delete table from SQL database: table_name={ index } error={ e } "
157+ )
158+ return False
159+
138160 def delete_doc (self , index : str , id : str ) -> bool :
139161 logger .debug (f"Deleting document from SQL database: table_name={ index } id={ id } " )
140162 try :
@@ -201,6 +223,18 @@ def query(self, query: str, index: str, top_k: int) -> list[str]:
201223 top_k = top_k ,
202224 )
203225
226+ def delete (self , index : str ) -> bool :
227+ self ._validate_index (index )
228+ logger .debug (f"Deleting collection from vector database: index={ index } " )
229+ try :
230+ self .client .delete (collection_name = index )
231+ return True
232+ except Exception as e :
233+ logger .error (
234+ f"Failed to delete collection from vector database: index={ index } error={ e } "
235+ )
236+ return False
237+
204238 def delete_doc (self , index : str , id : str ) -> bool :
205239 self ._validate_index (index )
206240 logger .debug (f"Deleting documents from vector database: index={ index } id={ id } " )
@@ -278,6 +312,11 @@ def query(self, query: str, index: str, top_k: int) -> list[str]:
278312
279313 return self .client .query (query , collection_name = index , top_k = top_k )
280314
315+ def delete (self , index : str ) -> bool :
316+ self ._validate_index (index )
317+ logger .debug (f"Deleting collection from Viking database: index={ index } " )
318+ return self .client .delete (name = index )
319+
281320 def delete_doc (self , index : str , id : str ) -> bool :
282321 self ._validate_index (index )
283322 logger .debug (f"Deleting documents from vector database: index={ index } id={ id } " )
@@ -324,6 +363,11 @@ def query(self, query: str, index: str, top_k: int, **kwargs):
324363 result = self .client .query (query , collection_name = index , top_k = top_k , ** kwargs )
325364 return result
326365
366+ def delete (self , index : str ) -> bool :
367+ self ._validate_index (index )
368+ logger .debug (f"Deleting collection from Viking database memory: index={ index } " )
369+ raise NotImplementedError ("VikingMemoryDatabase does not support delete" )
370+
327371 def delete_docs (self , index : str , ids : list [int ]):
328372 raise NotImplementedError ("VikingMemoryDatabase does not support delete_docs" )
329373
@@ -343,6 +387,9 @@ def add(self, data: list[str], **kwargs):
343387 def query (self , query : str , ** kwargs ):
344388 return self .client .query (query , ** kwargs )
345389
390+ def delete (self , index : str ) -> bool :
391+ return self .client .delete ()
392+
346393 def delete_doc (self , index : str , id : str ) -> bool :
347394 return self .client .delete_doc (id )
348395
0 commit comments