Serverless indexes do not support delete by metadata. Is the correct approach to this to do a query with the relevant metadata, set the topK to infinity, and delete based on IDs there? The documentation suggests using list, but list doesn’t have a filter param either?
+1 - would love this feature for deleting by metadata in a serverless index! It’s quite difficult right now to delete appropriately.
@winston1 yes, that’s the recommended approach. Also, FWIW, delete-by-metadata can cause issues on pod-based indexes, and we recommend not to do it on those, either, and instead use a metadata query and batch the deletes. We have this technique outlined in a support article.
Right now there is no way to query all the vectors according to only a metadata value, instead we have to include either an ID or a vector value. This constraint is forcing me into building so much unnecessary complexity in my app just so I can be sure that when a user deletes a record all the appropriate vectors for it are also deleted.
I don’t mind querying and then batching deletes, but being forced to generated a dummy vector just so I can do the metadata query that is dynamic according to the dimensions of the index just feels so the opposite of elegant.