Bases de datos vectoriales explicadas: cómo funciona la búsqueda vectorial en 2026

  1. Inicio
  2. Blog
  3. Bases de datos y SQL

Bases de datos y SQL

Bases de datos vectoriales explicadas: cómo funciona la búsqueda vectorial en 2026

Una base de datos normal encuentra coincidencias exactas. Una base de datos vectorial encuentra cosas que significan lo mismo. Descubre cómo funciona y cuándo necesitas una.

Por Stack QuoraActualizado el 29 oct 202610 min de lectura
Concepto de base de datos vectorial que muestra texto convertido en embeddings vectoriales y buscado por significado

Ideas clave

  • Un embedding convierte texto, imágenes o audio en una lista de números que captura el significado.
  • Una base de datos vectorial almacena embeddings y encuentra rápido los más cercanos.
  • Impulsa la búsqueda semántica, las recomendaciones y RAG.
  • Si ya usas PostgreSQL, pgvector puede ser todo lo que necesitas.

Busca “sitios baratos para dormir en Goa” en un sistema que solo usa palabras clave y puede que se le escape una página que dice “hoteles económicos en Goa”. Las palabras son distintas, pero el significado es el mismo. La búsqueda vectorial cierra esa brecha.

Por qué se queda corta la búsqueda por palabras clave

La búsqueda tradicional compara palabras. Tiene problemas con los sinónimos, las erratas y las preguntas escritas en lenguaje natural. La gente no siempre usa las palabras exactas de tus documentos, así que se pierden buenos resultados.

¿Qué son los embeddings?

Un embedding es una lista de números, un vector, que representa el significado de un dato. Lo crea un modelo de embeddings. Los significados parecidos dan vectores que quedan cerca unos de otros.

"hotel económico"      -> [0.12, -0.80, 0.33, ...]
"sitio barato para quedarse" -> [0.11, -0.78, 0.35, ...]   # muy cerca
"física cuántica"    -> [-0.60, 0.20, 0.91, ...]  # lejos

Los embeddings reales tienen cientos o miles de números. Puedes crearlos para texto, imágenes, audio y código.

¿Qué es una base de datos vectorial?

Una base de datos vectorial almacena embeddings, además de los datos originales y detalles extra como etiquetas, fechas e IDs. Está hecha para responder rápido a una pregunta: “¿Qué vectores almacenados están más cerca de este?”

Cómo funciona la búsqueda por similitud

La base de datos compara el vector de la consulta con los vectores almacenados usando una medida de distancia:

Medida Idea Uso habitual
Similitud del coseno Compara la dirección de dos vectores Búsqueda de texto
Distancia euclídea Distancia en línea recta entre puntos Uso general
Producto escalar Dirección y tamaño a la vez Recomendaciones

Comprobar cada vector uno por uno es exacto pero lento con millones de filas. Por eso las bases de datos usan la búsqueda de vecinos más cercanos aproximada (ANN): es algo menos exacta pero mucho más rápida.

Índices: HNSW e IVF

  • HNSW (Hierarchical Navigable Small World) construye un grafo por capas. Una búsqueda salta entre las capas para llegar rápido a los puntos más cercanos. Es rápido y preciso, pero usa más memoria.
  • IVF (inverted file) agrupa los vectores en clústeres y busca solo en los clústeres más cercanos. Usa menos memoria, pero necesita ajustes.

Ambos cambian un poco de precisión por mucha velocidad. Ajustas la configuración hasta que el equilibrio sea el adecuado para tu aplicación.

Un ejemplo sencillo con pgvector

pgvector es una extensión que añade búsqueda vectorial a PostgreSQL. Si conoces SQL, te resultará familiar.

CREATE EXTENSION IF NOT EXISTS vector;

CREATE TABLE docs (
  id        SERIAL PRIMARY KEY,
  content   TEXT,
  embedding VECTOR(3)    -- los modelos reales usan muchas más dimensiones
);

INSERT INTO docs (content, embedding) VALUES
  ('hotel económico en Goa',  '[0.12, -0.80, 0.33]'),
  ('apuntes de física cuántica','[-0.60, 0.20, 0.91]');

CREATE INDEX ON docs USING hnsw (embedding vector_cosine_ops);

SELECT content
FROM docs
ORDER BY embedding <=> '[0.11, -0.78, 0.35]'
LIMIT 3;

El operador <=> significa distancia del coseno. La consulta devuelve primero las filas más cercanas. Puedes ejecutar PostgreSQL en un contenedor para probarlo; consulta nuestro tutorial de Docker.

Casos de uso reales

  • Búsqueda semántica: encuentra artículos de ayuda por significado.
  • Chatbots RAG: obtén los pasajes adecuados para que un LLM responda a partir de ellos. Lee RAG vs fine-tuning vs prompt engineering.
  • Recomendaciones: sugiere productos o vídeos similares a los que le gustaron a un usuario.
  • Búsqueda de imágenes y audio: encuentra fotos o sonidos parecidos.
  • Detección de duplicados y fraude: detecta casi-copias y patrones raros.
  • Memoria de agentes: permite a los agentes de IA recordar notas pasadas. Consulta las buenas prácticas de agentes de IA.

Cómo elegir una base de datos vectorial

Opción Es buena cuando
pgvector en PostgreSQL Ya usas Postgres y tienes hasta unos pocos millones de vectores
Base de datos vectorial dedicada (por ejemplo Qdrant, Milvus, Weaviate, Pinecone) Necesitas una escala muy grande, funciones especiales o un servicio gestionado
Motores de búsqueda con soporte vectorial (por ejemplo Elasticsearch, OpenSearch) Ya los ejecutas y quieres mezclar búsqueda por palabras clave y vectorial
Biblioteca en memoria (por ejemplo FAISS) Quieres un prototipo local rápido

Revisa estos puntos: tamaño de los datos, velocidad de consulta, filtrado, coste, alojamiento y lo bien que encaja con tu stack actual. Muchos equipos empiezan con pgvector y solo se mudan después si es necesario.

Errores frecuentes

  • Tamaño de fragmento incorrecto. Los fragmentos demasiado grandes o demasiado pequeños dan malas coincidencias.
  • Mezclar modelos. La consulta y los documentos deben usar el mismo modelo de embeddings.
  • Sin filtros. Combina la búsqueda vectorial con filtros, como el idioma o la fecha.
  • Sin pruebas. Crea un conjunto de consultas reales y comprueba que aparecen los resultados correctos.
  • Datos obsoletos. Vuelve a generar los embeddings cuando cambien los documentos.

Preguntas frecuentes

¿Qué es una base de datos vectorial en palabras sencillas?

Es una base de datos que almacena el significado de los datos como números y encuentra elementos con un significado parecido, no solo palabras coincidentes.

¿Necesito una base de datos vectorial para RAG?

Normalmente sí, para buscar en tus documentos por significado. Con pocos datos, un índice sencillo en tu base de datos actual puede bastar.

¿Es suficiente pgvector?

Para muchas aplicaciones, sí. Mantiene todo en una sola base de datos. Para una escala enorme o necesidades especiales, una base de datos dedicada puede encajar mejor.

¿Cuál es la diferencia entre SQL y la búsqueda vectorial?

SQL encuentra coincidencias exactas y rangos. La búsqueda vectorial encuentra el significado más cercano. Muchas aplicaciones usan ambas a la vez.

¿Qué es HNSW?

Es un tipo de índice que construye un grafo por capas para que la base de datos pueda encontrar rápidamente a los vecinos más cercanos.

Sigue aprendiendo

Trabaja con Stack Quora

¿Necesitas ayuda con testing, WordPress o SEO?

Ayudamos a los equipos a lanzar mejor software y a hacer crecer sus sitios. Cuéntanos en qué trabajas y te sugeriremos un siguiente paso claro.