CouchbaseVectorSearch
Search documents by vector similarity using semantic search with KNN (K-Nearest Neighbors).
Syntax
couchbaseVectorSearch(
cacheName,
collection,
embedding,
[limit],
[userId],
[conversationId],
[metadata]
)Parameters
cacheName
String
Yes
-
Name of the cache configuration
collection
String
Yes
-
Full collection path: bucket.scope.collection
embedding
Array
Yes
-
Vector embedding to search for (e.g., 1536 dimensions)
limit
Number
No
10
Maximum number of results to return
userId
String
No
-
Filter results by user ID
conversationId
String
No
-
Filter results by conversation ID
metadata
Struct
No
-
Additional metadata filters
Returns
Returns an array of structs, each containing:
id- Document IDtext- Document text contentembedding- Vector embedding arraymetadata- Document metadatascore- Similarity score (higher is better)distance- Vector distance (lower is better)userId- User ID (if set)conversationId- Conversation ID (if set)
Examples
Basic Semantic Search
Filter by User
Filter by Conversation
Filter by Metadata
Combined Filters
RAG Implementation
Filtering Results by Score
Notes
Embedding dimensions must match - All vectors must have the same dimensions (e.g., 1536 for OpenAI)
Same model required - Use the same embedding model for storage and search
Collection path format - Use
bucket.scope.collectionformatKNN algorithm - Uses SEARCH() with KNN for efficient similarity search
Performance - Limit parameter controls result count; higher limits = slower queries
Filters are AND conditions - All specified filters must match
Use Cases
📚 Documentation search - Find relevant docs by semantic meaning
💬 Chatbot memory - Search previous conversations
🎯 Recommendation systems - Find similar products/content
🔍 FAQ matching - Match user questions to answers
📝 Content discovery - Find related articles/posts
Related Functions
couchbaseVectorAdd - Store vector documents
couchbaseVectorGet - Retrieve vector document
couchbaseVectorList - List vector documents
couchbaseQuery - Execute custom queries
See Also
Last updated
Was this helpful?
