Hey yall, i'm trying to understand the behavior of deleting a document when the vector store index is an Opensearch one. It seems like based on the vector store module guide, deleting a document makes a call to the VectorStoreIndex's implementation of
delete()
. For Opensearch,
delete()
calls
self._client.delete_doc_id(ref_doc_id)
.
This makes a call to the opensearch client to delete using id=doc_id
. .
The issue i'm seeing is that the
id
of a document in opensearch indexed by llama-index is the
node_id
, not the document id. Shouldn't the
delete_doc_id
delete using a filter on
doc_id
instead?
as a comparison, chromadb's VectorStoreIndex impl
does a delete by filtering on document_id properly here.