ATLAS
Vector Search
Build intelligent applications powered by semantic search and generative AI over any type of data using a full-featured vector database.
What is Atlas Vector Search?
Integrate your operational database and vector search in a single, unified, fully managed platform with full vector database capabilities. Store your operational data, metadata, and vector embeddings on Atlas while using Atlas Vector Search to build intelligent gen AI-powered applications.
Featured integrations
Key use cases for Atlas Vector Search
Atlas Vector Search lets you search unstructured data. You can create vector embeddings with machine learning models like OpenAI and Hugging Face, and store and index them in Atlas for retrieval augmented generation (RAG), semantic search, recommendation engines, dynamic personalization, and other use cases.
Vector Search simplified
With Atlas Vector Search, developers can build AI-powered experiences while accessing all the data they need through a unified and consistent developer experience in the form of the MongoDB Query API. Our new $vectorSearch aggregation stage makes it even easier for those already using MongoDB.
The versatility of Atlas as a vector database
Rather than use a standalone or bolt-on vector database, the versatility of our platform empowers users to store their operational data, metadata, and vector embeddings on Atlas and seamlessly use Atlas Vector Search to index, retrieve, and build performant gen AI applications.
Remove operational heavy lifting
Atlas Vector Search is built on the MongoDB Atlas developer data platform. Easily automate provisioning, patching, upgrades, scaling, security, and disaster recovery while providing deep visibility into performance for both the database and Vector Search so you can focus on building applications.
Robust ecosystem of AI integrations
Head of Content Digitalisation, Novo Nordisk
FAQ
What is semantic search?
Semantic search is the practice of searching on the meaning of data rather than the data itself.
What is a vector?
A vector is a numeric representation of data and associated context that can be efficiently searched for using advanced algorithms.
How does Atlas Vector Search differ from Atlas Search?
Atlas Vector Search allows searching through data based on semantic meaning captured in vectors, whereas Atlas Search allows for keyword search (i.e., based on the actual text and any defined synonym mappings).
Can I use MongoDB Atlas instead of a standalone vector database?
Yes, MongoDB Atlas is a vector database. Atlas is a fully managed, multi-cloud developer data platform with a rich array of capabilities that includes text or lexical and vector search. Rather than use a standalone or bolt-on vector database, the versatility of our platform empowers users to store their operational data, metadata, and vector embeddings on Atlas and seamlessly use Atlas Vector Search to index, retrieve, and build performant gen AI applications.
What's the difference between K-Nearest Neighbor Search and Approximate K-Nearest Neighbor Search? When to use what?
KNN stands for "K Nearest Neighbors," which is the algorithm frequently used to find vectors near one another. Learn more.
ANN stands for "Approximate Nearest Neighbors" and it is an approach to finding similar vectors that trades accuracy in favor of performance. This is one of the core algorithms used to power Atlas Vector Search. Our algorithm for Approximate Nearest Neighbor search uses the Hierarchical Navigable Small World (HNSW) graph for efficient indexing and querying of millions of vectors.
In MongoDB Atlas, you can implement exact K nearest neighbor search via the $vectorSearch stage. This method would guarantee to return the exact closest vectors to a query vector, with the number of vectors specified by the variable limit. Exact vector search query execution can maintain sub-second latency for unfiltered queries up to 10,000 documents. It can also provide low-latency responses for highly selective filters that restrict a broad set of documents into 10,000 documents or less, ordered by vector relevance.
What is $vectorSearch and how does it differ from the knnBeta operator in $search?
$vectorSearch is a new aggregation stage in MongoDB Atlas that lets you execute an Approximate Nearest Neighbor (ANN) query with MongoDB Query Language filtering (e.g., “$eq” or “$gte”). This stage will be supported on Atlas clusters version 6.0 and higher. The knnBeta operator in $search will continue to be supported as well.
What is ANN?
ANN stands for "Approximate Nearest Neighbors" and it is an approach to finding similar vectors that trades accuracy in favor of performance. This is one of the core algorithms used to power Atlas Vector Search. Our algorithm for Approximate Nearest Neighbor search uses the Hierarchical Navigable Small World (HNSW) graphs.
What are Search Nodes?
Search Nodes provide dedicated infrastructure for Atlas Search and Vector Search workloads, allowing you to optimize compute resources and fully scale search needs independent of the database. Search Nodes provide better performance at scale, delivering workload isolation, higher availability, and the ability to better optimize resource usage.
Which Vector embeddings does Atlas Search support?
Atlas Vector Search Supports embeddings from any provider that is under the 4096-dimension limit on the service.
Does Vector Search work with images, media files, and other types of data?
Yes, Atlas Vector Search can query any kind of data that can be turned into an embedding. One of the benefits of the document model is that you can store your embeddings right alongside your rich data in your documents.