@@ -54,6 +54,17 @@ def query(self, query: str, index: str, top_k: int = 0) -> list:
54
54
logger .error (f"Failed to search from Redis: index={ index } error={ e } " )
55
55
raise e
56
56
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
+
57
68
def delete_doc (self , index : str , id : str ) -> bool :
58
69
logger .debug (f"Deleting document from Redis database: index={ index } id={ id } " )
59
70
try :
@@ -135,6 +146,17 @@ def query(self, query: str, index: str, top_k: int) -> list[str]:
135
146
136
147
return [item ["data" ] for item in results ]
137
148
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
+
138
160
def delete_doc (self , index : str , id : str ) -> bool :
139
161
logger .debug (f"Deleting document from SQL database: table_name={ index } id={ id } " )
140
162
try :
@@ -201,6 +223,18 @@ def query(self, query: str, index: str, top_k: int) -> list[str]:
201
223
top_k = top_k ,
202
224
)
203
225
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
+
204
238
def delete_doc (self , index : str , id : str ) -> bool :
205
239
self ._validate_index (index )
206
240
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]:
278
312
279
313
return self .client .query (query , collection_name = index , top_k = top_k )
280
314
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
+
281
320
def delete_doc (self , index : str , id : str ) -> bool :
282
321
self ._validate_index (index )
283
322
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):
324
363
result = self .client .query (query , collection_name = index , top_k = top_k , ** kwargs )
325
364
return result
326
365
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
+
327
371
def delete_docs (self , index : str , ids : list [int ]):
328
372
raise NotImplementedError ("VikingMemoryDatabase does not support delete_docs" )
329
373
@@ -343,6 +387,9 @@ def add(self, data: list[str], **kwargs):
343
387
def query (self , query : str , ** kwargs ):
344
388
return self .client .query (query , ** kwargs )
345
389
390
+ def delete (self , index : str ) -> bool :
391
+ return self .client .delete ()
392
+
346
393
def delete_doc (self , index : str , id : str ) -> bool :
347
394
return self .client .delete_doc (id )
348
395
0 commit comments