Missing documents when using embeddings

### System Info

Windows 11
Langchain - 0.0.184
Python 3.11.1

### Who can help?

@eyu

### Information

- [ ] The official example notebooks/scripts
- [X] My own modified scripts

### Related Components

- [ ] LLMs/Chat Models
- [X] 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

The problem is, I am creating a document collection consisting of 150 documents. However, when I embed them, some documents disappear. I have identified the missing documents by comparing the `bulk_metadatas` variable with the unique values of `patent_embeddings` variable. It shows that some documents are indeed missing from the database. Steps to reproduce.

Load the json file from this [gist ](https://gist.github.com/emilmirzayev/99ef6e641ada53804cbd38015c759ccb)into `bulk_data` variable. Then follow this script:

```python
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.vectorstores.chroma import Chroma
import numpy as np
from scipy.spatial.distance import cdist

bulk_abstracts = []
bulk_claims = []
bulk_metadatas = []

for firm_result in bulk_data:
    print(len(firm_result["results"]))
    for patent_data in firm_result["results"]:
        abstract = abstract_parser(patent_data["abstractText"])
        claim = abstract_parser(patent_data["claimText"])
        metadata = str(patent_data["assigneeEntityName"]) + " " + str(patent_data["patentApplicationNumber"])

        bulk_abstracts.append(abstract)
        bulk_claims.append(claim)
        bulk_metadatas.append({"company": metadata})


embeddings = OpenAIEmbeddings(openai_api_key = "Your key",
                             model="text-embedding-ada-002")

from langchain.text_splitter import CharacterTextSplitter, RecursiveCharacterTextSplitter
text_splitter = RecursiveCharacterTextSplitter(chunk_size=2000, chunk_overlap=200)


save_directory = "hundred_fifty_patent_db"


text_splitter = RecursiveCharacterTextSplitter(chunk_size=2000, chunk_overlap=200)
patent_documents = text_splitter.create_documents(bulk_claims,
                                           metadatas= bulk_metadatas
                                          )



db = Chroma.from_documents(documents = patent_documents,
                           embedding= embeddings,
                           persist_directory=save_directory
                          )

db.persist()

# reloading back
db = None
directory_to_load_from = "hundred_fifty_patent_db"
db = Chroma(persist_directory= directory_to_load_from, 
            embedding_function=embeddings)

patent_embeddings = db.get(["embeddings"])["embeddings"]
patent_metadatas = db.get(["metadatas"])["metadatas"]

# lets see how many entries we have, its 146
a = [data["company"] for data in bulk_metadatas]

b = list(set(company_patent))

np.setdiff1d(a, b)
```
Output:
```
array(['Colgate-Palmolive Company US12159313',
       'The Coca-Cola Company US12171698',
       'The Coca-Cola Company US12917673',
       'The Coca-Cola Company US13036081'], dtype='<U58')
```
These four documents are missing from the database.




### Expected behavior

To have all documents present in the embeddings