diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-opensearch/llama_index/vector_stores/opensearch/base.py b/llama-index-integrations/vector_stores/llama-index-vector-stores-opensearch/llama_index/vector_stores/opensearch/base.py
index ed34f3a313fb42087df90e40ee4c9a1928a1d552..7644617b3d71e48d975a9ee4ad9b7688e56874ef 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-opensearch/llama_index/vector_stores/opensearch/base.py
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-opensearch/llama_index/vector_stores/opensearch/base.py
@@ -350,7 +350,8 @@ class OpensearchVectorClient:
         Args:
             doc_id (str): document id
         """
-        self._os_client.delete(index=self._index, id=doc_id)
+        body = {"query": {"match": {"metadata.ref_doc_id": doc_id}}}
+        self._os_client.delete_by_query(index=self._index, body=body)
 
     def query(
         self,