In this article
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Overview
The MongoDB - Atlas Vector Search Snap enables you to efficiently perform advanced vector-based queries. This Snap is useful for Similarity searches, Approximate Nearest Neighbor (ANN) queries, and Range queries on vector data stored in MongoDB Atlas. Learn more about how to run vector search queries.
Snap Type
The MongoDB - Atlas Vector Search Snap is a Read-type Snap.
Prerequisites
MongoDB Atlas account in the Mongo database.
Support for Ultra Pipelines
Works in Ultra Pipelines.
Limitations and Known Issues
None.
Snap Views
Type | Format | Number of Views | Examples of Upstream and Downstream Snaps | Description |
---|---|---|---|---|
Input | Document
|
|
| Requires the MongoDB aggregate command to perform vector search. |
Output | Document
|
|
| Retrieves query results from the collection as specified in the settings. |
Error | Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the pipeline by choosing one of the following options from the When errors occur list under the Views tab:
Learn more about Error handling in Pipelines. |
Snap Settings
Info |
---|
|
Field Name | Field Type | Description |
---|---|---|
Label*
Default Value: MongoDB - Atlas Vector Search | String | Specify the name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline.
|
Database name
Default Value: N/A | String/Expression/Suggestion | Specify the database where the query is executed. If you do not specify, the database configured in the account is used. |
Collection name*
Default Value: N/A | String/Expression/Suggestion | Specify or select a MongoDB collection name to find indexes for vector search. |
Search index*
Default Value: N/A | String/Expression | Specify the name of the search index to query. |
Vector field*
Default Value: N/A | String/Expression/Suggestion | Specify the name of the vector field that you want to search. |
Number of candidates*
Default Value: 100 | Integer/Expression | Specify the number of candidates for vector search. The Number of candidates value must be higher than the Limit value to increase the accuracy of the results. Maximum value: 10000 |
Limit*
Default Value: 4 | Integer/Expression | Specify the number of results to return for each query. Maximum value: 10000 |
Advanced settings | Configure the advanced settings as required. | |
Batch size*
Default Value: 0 | Integer | Specify the number of documents to return per batch. |
Timezone hours offset
Default Value: 0 | Integer | Specify the time zone hour offset to apply to all DateTime fields. The values for this field must be in the range of (-12) through 14. |
Timezone minutes offset
Default Value: 0 | Integer | Specify the time zone minutes offset to apply to all DateTime fields. The values for this field must be in the range of 0 through 59. |
Number of retries Default Value: 0 | Integer/Expression | Specify the maximum number of attempts to be made to receive a response. The request is terminated if the attempts do not result in a response.
|
Retry interval (seconds) Default Value: 1 | Integer/Expression | Specify the time interval between two retry requests. |
Snap Execution
Default Value: | Dropdown list | Select one of the following three modes in which the Snap executes:
|
Troubleshooting
Error | Reason | Resolution |
---|---|---|
The vector search operation failed. | The specified vector might be invalid. | Specify a valid vector and retry. |
Unable to process the input document. | The input document might be invalid. | Specify valid input and retry. |
The collection provided cannot be found. | The specified collection is not available. | Specify a valid collection and retry. |
The index is not specified. | The index field is mandatory. | Specify a valid index and retry. |
The input document does not have a 'vector' specified in the structure. | The input document must have a valid vector. | Add the vector to query the input document and retry. |
Examples
Vector search on a specific field
Th following example pipeline demonstrates how to use MongoDB - Atlas Vector Search Snap to perform an ANN (approximate nearest neighbor) search on a vector in the specified field.
Step 1: Configure the Edit JSON field in the JSON Generator Snap with the prompt List movies.
Step 2: Configure the Azure OpenAI Embedder Snap as follows to create a vector embedding for the list of movies.
Azure OpenAI Embedder configuration | Azure OpenAI Embedder output |
---|---|
Step 3: Configure the Mapper Snap to pass the vector embedding to the MongoDB - Atlas Vector Search Snap.
Step 4: Configure the MongoDB - Atlas Vector Search Snap to run a search query on 10,000 nearest neighbor records for a single-matched record with a similar plot_embedding vector field.
On validation, one record is populated with a similar plot-embedding vector field.
Downloads
Info |
---|
|
Attachments | ||
---|---|---|
|
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|