CouchbaseVectorSearch

Search documents by vector similarity using semantic search with KNN (K-Nearest Neighbors).

Syntax

couchbaseVectorSearch(
    cacheName,
    collection,
    embedding,
    [limit],
    [userId],
    [conversationId],
    [metadata]
)

Parameters

Parameter
Type
Required
Default
Description

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 ID

  • text - Document text content

  • embedding - Vector embedding array

  • metadata - Document metadata

  • score - Similarity score (higher is better)

  • distance - Vector distance (lower is better)

  • userId - User ID (if set)

  • conversationId - Conversation ID (if set)

Examples

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.collection format

  • KNN 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

See Also

Last updated

Was this helpful?