• Search for nodes similar to a query using vector similarity with HNSW index

    This uses SurrealDB's vector::distance::knn() function with the <|limit,effort|> syntax to efficiently search using the HNSW index. The effort parameter (second value) MUST be a number to force index usage.

    Parameters

    • db: Surreal

      SurrealDB instance

    • queryEmbedding: number[]

      Pre-generated embedding vector to search with

    • options: node.introspection.query.SimilaritySearchOptions = {}

      Search options:

      • limit: Number of results to return (default: 5)
      • effort: HNSW search effort parameter (default: 40) - higher values = more accurate but slower

    Returns Promise<node.introspection.query.SimilarityResult[]>

    Array of embedding cache results with distance scores (lower distance = more similar)

    const embedding = await generateEmbedding("authentication");
    const results = await vectorSearch(db, embedding, { limit: 10, effort: 40 });