DocArray is a versatile, open-source tool for managing your multi-modal data. It lets you shape your data however you want, and offers the flexibility to store and search it using various document index backends. Plus, it gets even better - you can utilize yourThis notebook is split into two sections. The first section offers an introduction to all five supported document index backends. It provides guidance on setting up and indexing each backend and also instructs you on how to build aDocArraydocument index to create aDocArrayRetriever, and build awesome LangChain apps!
DocArrayRetriever for finding relevant documents.
In the second section, we’ll select one of these backends and illustrate how to use it through a basic example.
Document Index Backends
InMemoryExactNNIndex
InMemoryExactNNIndex stores all Documents in memory. It is a great starting point for small datasets, where you may not want to launch a database server.
Learn more here: docs.docarray.org/user_guide/storing/index_in_memory/
HnswDocumentIndex
HnswDocumentIndex is a lightweight Document Index implementation that runs fully locally and is best suited for small- to medium-sized datasets. It stores vectors on disk in hnswlib, and stores all other data in SQLite.
Learn more here: docs.docarray.org/user_guide/storing/index_hnswlib/
WeaviateDocumentIndex
WeaviateDocumentIndex is a document index that is built upon Weaviate vector database.
Learn more here: docs.docarray.org/user_guide/storing/index_weaviate/
ElasticDocIndex
ElasticDocIndex is a document index that is built upon ElasticSearch
Learn more here
QdrantDocumentIndex
QdrantDocumentIndex is a document index that is built upon Qdrant vector database
Learn more here
Movie Retrieval using HnswDocumentIndex
Normal Retriever
Retriever with Filters
Retriever with MMR search
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.