diff --git a/qdrant_client/local/local_collection.py b/qdrant_client/local/local_collection.py index 7ef1126e..6269093c 100644 --- a/qdrant_client/local/local_collection.py +++ b/qdrant_client/local/local_collection.py @@ -2910,6 +2910,8 @@ class LocalCollection: "Cannot delete the unnamed vector when it is the only dense vector in the collection" ) + affected_mask = ~self.deleted_per_vector.get(vector_name, np.ones(0, dtype=bool)) + self._all_vectors_keys.remove(vector_name) self.deleted_per_vector.pop(vector_name, None) @@ -2930,6 +2932,11 @@ class LocalCollection: if isinstance(self.config.vectors, dict): self.config.vectors.pop(vector_name, None) + if self.storage is not None: + for idx, point_id in enumerate(self.ids_inv): + if affected_mask[idx] and not self.deleted[idx]: + self._persist_by_id(point_id) + def info(self) -> models.CollectionInfo: return models.CollectionInfo( status=models.CollectionStatus.GREEN,