appropriate namespace.Suggestion: Use a namespace that takes into account both the vector store and the collection name in the vector store; e.g., 'redis/my_docs', 'chromadb/my_docs' or 'postgres/my_docs'.namespace = f"elasticsearch/{collection_name}"record_manager = SQLRecordManager(    namespace, db_url="sqlite:///record_manager_cache.sql")Create a schema before using the record manager.record_manager.create_schema()Let's index some test documents:doc1 = Document(page_content="kitty", metadata={"source": "kitty.txt"})doc2 = Document(page_content="doggy", metadata={"source": "doggy.txt"})Indexing into an empty vector store:def _clear():    """Hacky helper method to clear content. See the `full` mode section to to understand why it works."""    index([], record_manager, vectorstore, cleanup="full", source_id_key="source")None deletion mode‚ÄãThis mode does not do automatic clean up of old versions of content; however, it still takes care of content de-duplication._clear()index(    [doc1, doc1, doc1, doc1, doc1],    record_manager,    vectorstore,    cleanup=None,    source_id_key="source",)    {'num_added': 1, 'num_updated': 0, 'num_skipped': 0, 'num_deleted': 0}_clear()index(    [doc1, doc2], record_manager, vectorstore, cleanup=None, source_id_key="source")    {'num_added': 2, 'num_updated': 0, 'num_skipped': 0, 'num_deleted': 0}Second time around all content will be skipped:index(    [doc1, doc2], record_manager, vectorstore, cleanup=None, source_id_key="source")    {'num_added': 0, 'num_updated': 0, 'num_skipped': 2, 'num_deleted': 0}"incremental" deletion mode‚Äã_clear()index(    [doc1, doc2],    record_manager,    vectorstore,    cleanup="incremental",    source_id_key="source",)    {'num_added': 2, 'num_updated': 0, 'num_skipped': 0, 'num_deleted': 0}Indexing again should result in both documents getting skipped -- also skipping the embedding operation!index(    [doc1, doc2],    record_manager,    vectorstore,    cleanup="incremental",
Here, we will look at a basic indexing workflow using the LangChain indexing API.
Here, we will look at a basic indexing workflow using the LangChain indexing API. ->: appropriate namespace.Suggestion: Use a namespace that takes into account both the vector store and the collection name in the vector store; e.g., 'redis/my_docs', 'chromadb/my_docs' or 'postgres/my_docs'.namespace = f"elasticsearch/{collection_name}"record_manager = SQLRecordManager(    namespace, db_url="sqlite:///record_manager_cache.sql")Create a schema before using the record manager.record_manager.create_schema()Let's index some test documents:doc1 = Document(page_content="kitty", metadata={"source": "kitty.txt"})doc2 = Document(page_content="doggy", metadata={"source": "doggy.txt"})Indexing into an empty vector store:def _clear():    """Hacky helper method to clear content. See the `full` mode section to to understand why it works."""    index([], record_manager, vectorstore, cleanup="full", source_id_key="source")None deletion mode‚ÄãThis mode does not do automatic clean up of old versions of content; however, it still takes care of content de-duplication._clear()index(    [doc1, doc1, doc1, doc1, doc1],    record_manager,    vectorstore,    cleanup=None,    source_id_key="source",)    {'num_added': 1, 'num_updated': 0, 'num_skipped': 0, 'num_deleted': 0}_clear()index(    [doc1, doc2], record_manager, vectorstore, cleanup=None, source_id_key="source")    {'num_added': 2, 'num_updated': 0, 'num_skipped': 0, 'num_deleted': 0}Second time around all content will be skipped:index(    [doc1, doc2], record_manager, vectorstore, cleanup=None, source_id_key="source")    {'num_added': 0, 'num_updated': 0, 'num_skipped': 2, 'num_deleted': 0}"incremental" deletion mode‚Äã_clear()index(    [doc1, doc2],    record_manager,    vectorstore,    cleanup="incremental",    source_id_key="source",)    {'num_added': 2, 'num_updated': 0, 'num_skipped': 0, 'num_deleted': 0}Indexing again should result in both documents getting skipped -- also skipping the embedding operation!index(    [doc1, doc2],    record_manager,    vectorstore,    cleanup="incremental",