surrealdb-vector
Vector search with SurrealDB using HNSW indexes, KNN queries, and similarity scoring. Use when creating vector indexes, querying vectors with KNN distance operators, building semantic search or RAG pipelines, tuning HNSW parameters (EFC, M, M0, distance function, type), or implementing recommendation systems with SurrealDB. Triggers: HNSW, vector, embedding, KNN, cosine, euclidean, semantic search, RAG, vector::distance.
How do I install this agent skill?
npx skills add https://github.com/surrealdb/agent-skills --skill surrealdb-vectorIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides documentation and SurrealQL query examples for implementing vector search using HNSW indexes in SurrealDB. It contains only static information and poses no security risks.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
SurrealDB Vector Search
HNSW Index
Create a basic HNSW index:
DEFINE INDEX hnsw_idx ON pts FIELDS point HNSW DIMENSION 4;
With specific distance function and type:
DEFINE INDEX hnsw_idx ON pts FIELDS point HNSW DIMENSION 4 DIST EUCLIDEAN TYPE F64;
Available types: F64, F32, I64, I32, I16.
Full Table Example
DEFINE TABLE OVERWRITE document SCHEMALESS;
DEFINE FIELD OVERWRITE embedding ON document TYPE array<float>;
DEFINE INDEX OVERWRITE hnsw_idx_document ON document
FIELDS embedding
HNSW DIMENSION 384
DIST COSINE
TYPE F32
EFC 150 M 12 M0 24;
HNSW Parameters
| Parameter | Description |
|---|---|
| DIMENSION | Vector dimensionality (must match your embeddings) |
| DIST | Distance function: COSINE, EUCLIDEAN, etc. |
| TYPE | Numeric type: F64, F32, I64, I32, I16 |
| EFC | Construction search effort (higher = better index) |
| M | Max connections per node |
| M0 | Max connections at layer 0 |
Querying Vectors
The <|K, EF|> operator performs KNN search. K is the number of results,
EF is the search effort (higher = more accurate, slower).
Recommended effort values:
40— default, good accuracy17— fast but may miss some results
Basic KNN Query
SELECT
*,
vector::distance::knn() AS dist
FROM document
WHERE embedding <|10, 40|> $vector;
vector::distance::knn() uses the distance function defined by the index.
Scored Results with Threshold
SELECT *, score
FROM (
SELECT *, (1 - vector::distance::knn()) AS score
FROM document
WHERE embedding <|20, 40|> $vector
)
WHERE score >= $threshold
ORDER BY score DESC;
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/surrealdb/agent-skills/surrealdb-vector">View surrealdb-vector on skillZs</a>