Skip to content
Back to the catalog
Project vector-search-engineDatabasesAdvancedBeta

Un motor de búsqueda vectorial

Construye un índice vectorial con búsqueda exacta, filtros y un grafo HNSW simplificado.

Build it in your language

The tester treats your program as a black box: any language works. These are just the most convenient ones for this project.

Guide language

The stage guides read in this language. Only languages this project is fully translated into show up here; the interface language does not change.

What this project is about

La búsqueda vectorial recupera elementos por cercanía matemática en vez de coincidencia textual. Aquí construirás el motor que hay debajo de muchos sistemas de recuperación semántica.

El programa recibirá comandos NDJSON, conservará vectores identificados y responderá consultas con orden determinista. Primero establecerás la referencia exacta y después construirás un índice aproximado medible.

Roadmap

5 stages across 3 phases. Every stage comes with its guide and its tests: you move on when they pass.

  1. Phase 12 stages

    Fundamentos vectoriales

    Define el almacén, las métricas y una búsqueda exhaustiva confiable.

    1. 01Crea el almacén vectorial
    2. 02Mide la cercanía
  2. Phase 21 stage

    Motor de consultas

    Añade filtros, reemplazos y reglas deterministas de consulta.

    1. 01Busca vecinos exactos
  3. Phase 32 stages

    Índice aproximado

    Construye y evalúa un grafo HNSW simplificado para acelerar la recuperación.

    1. 01Construye el grafo HNSW
    2. 02Consulta y evalúa el índice

Before you start

Un motor local que almacena vectores y metadatos, calcula distancias euclidiana y coseno, ejecuta k-NN exacto, aplica filtros y consulta un índice HNSW simplificado con resultados reproducibles.

  • key-value-db
    Beta

    A key-value database

    A storage engine with a WAL, indexes and compaction. Understand how and when your data is persisted.

    Advanced14 stages~22 hDatabases
    walíndicescompactación+1

    Go · Rust

  • redis
    Beta

    Build your own Redis

    Implement the RESP protocol, an event loop and key expiry. A real server that talks to redis-cli.

    Intermediate10 stages~14 hDatabases
    resptcpeventos+1

    Go · Rust · Python

  • sqlite-reader
    Beta

    Read a SQLite file

    Open a real .db, walk its B-trees and run SELECTs. Reverse engineering of a documented binary format.

    Advanced10 stages~15 hDatabases
    formato binariobtreesql

    Go · Python · Java