Bug: Weaviate raise doc_id error using with ParentDocumentRetriever 
Labels: name: area: vector store, name: auto:bug, name: integration: chroma

### System Info

LangChain Version: 0.0.337
Python: 3.10

### Who can help?

@hwchase17 

Note: I am facing this issue with Weaviate, when I use the Chroma Vector Store it's working fine.

I am trying to use "Weaviate Vector DB" with  ParentDocumentRetriever and I am getting this error during the pipeline:

```
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
Cell In[13], line 1
----> 1 retriever.get_relevant_documents("realization")

File ~/miniconda3/envs/docs_qa/lib/python3.10/site-packages/langchain/schema/retriever.py:211, in BaseRetriever.get_relevant_documents(self, query, callbacks, tags, metadata, run_name, **kwargs)
    209 except Exception as e:
    210     run_manager.on_retriever_error(e)
--> 211     raise e
    212 else:
    213     run_manager.on_retriever_end(
    214         result,
    215         **kwargs,
    216     )

File ~/miniconda3/envs/docs_qa/lib/python3.10/site-packages/langchain/schema/retriever.py:204, in BaseRetriever.get_relevant_documents(self, query, callbacks, tags, metadata, run_name, **kwargs)
    202 _kwargs = kwargs if self._expects_other_args else {}
    203 if self._new_arg_supported:
--> 204     result = self._get_relevant_documents(
    205         query, run_manager=run_manager, **_kwargs
    206     )
    207 else:
    208     result = self._get_relevant_documents(query, **_kwargs)

File ~/miniconda3/envs/docs_qa/lib/python3.10/site-packages/langchain/retrievers/multi_vector.py:36, in MultiVectorRetriever._get_relevant_documents(self, query, run_manager)
     34 ids = []
     35 for d in sub_docs:
---> 36     if d.metadata[self.id_key] not in ids:
     37         ids.append(d.metadata[self.id_key])
     38 docs = self.docstore.mget(ids)

KeyError: 'doc_id'
```

### Information

- [ ] The official example notebooks/scripts
- [X] My own modified scripts

### Related Components

- [ ] LLMs/Chat Models
- [ ] Embedding Models
- [ ] Prompts / Prompt Templates / Prompt Selectors
- [ ] Output Parsers
- [ ] Document Loaders
- [X] Vector Stores / Retrievers
- [ ] Memory
- [ ] Agents / Agent Executors
- [ ] Tools / Toolkits
- [ ] Chains
- [ ] Callbacks/Tracing
- [ ] Async

### Reproduction

```
import weaviate
from langchain.vectorstores.weaviate import Weaviate
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.retrievers import ParentDocumentRetriever
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.storage import RedisStore
from langchain.schema import Document
from langchain.storage._lc_store import create_kv_docstore
from langchain.storage import InMemoryStore
from langchain.vectorstores import Chroma
import redis
import os

os.environ["OPENAI_API_KEY"] = ""
client = weaviate.Client(url="https://test-n5.weaviate.network")
embeddings = OpenAIEmbeddings()
vectorstore = Weaviate(client=client, embedding=embeddings, index_name="test1".capitalize(), text_key="text", by_text=False)

parent_splitter = RecursiveCharacterTextSplitter(chunk_size=50, chunk_overlap=1)
child_splitter = RecursiveCharacterTextSplitter(chunk_size=5, chunk_overlap=1)
store = InMemoryStore()

retriever = ParentDocumentRetriever(
    vectorstore=vectorstore,
    docstore=store,
    child_splitter=child_splitter,
    parent_splitter=parent_splitter,
    id_key="doc_id"
)

docs = [
    "The sun is shining brightly in the clear blue sky.",
    "Roses are red, violets are blue, sugar is sweet, and so are you.",
    "The quick brown fox jumps over the lazy dog.",
    "Life is like a camera. Focus on what's important, capture the good times, develop from the negatives, and if things don't work out, take another shot.",
    "A journey of a thousand miles begins with a single step.",
    "The only limit to our realization of tomorrow will be our doubts of today.",
    "Success is not final, failure is not fatal: It is the courage to continue that counts.",
    "Happiness can be found even in the darkest of times if one only remembers to turn on the light."
]
docs = [Document(page_content=text) for en, text in enumerate(docs)]
retriever.add_documents(docs)
```

The output of below line below didn't contain a ID_Key for mapping the child to parent.
`vectorstore.similarity_search("realization", k=4)`

So, when I tried `retriever.get_relevant_documents("realization")` this returned the KeyError I mentioned.

### Expected behavior

The output of `vectorstore.similarity_search("realization", k=2)` should have been:

```
[Document(page_content='real', metadata={"doc_id": "fdsfsdfsdfsdfsd"}),
 Document(page_content='real'), metadata={"doc_id": "rewrwetet"}]
```

but the output I got was:

[Document(page_content='real'),
 Document(page_content='real')]