Skip to main content
Sí, ClickHouse puede realizar búsquedas vectoriales. Las principales ventajas de usar ClickHouse para la búsqueda vectorial, frente a bases de datos vectoriales más especializadas, incluyen:
  • Usar las capacidades de filtrado y búsqueda de texto completo de ClickHouse para refinar tu conjunto de datos antes de realizar una búsqueda.
  • Realizar análisis sobre tus conjuntos de datos.
  • Ejecutar un JOIN con tus datos existentes.
  • Evitar tener que gestionar otra base de datos más y complicar tu infraestructura.
Aquí tienes un breve tutorial sobre cómo usar ClickHouse para la búsqueda vectorial.
1

Crear embeddings

Tus datos (documentos, imágenes o datos estructurados) deben convertirse en embeddings. Recomendamos crear embeddings con la API de Embeddings de OpenAI o usando la biblioteca open-source de Python SentenceTransformers.Puedes pensar en un embedding como un gran array de números de coma flotante que representa tus datos. Consulta esta guía de OpenAI para obtener más información sobre los embeddings.
2

Almacenar los embeddings

Una vez que hayas generado embeddings, debes almacenarlos en ClickHouse. Cada embedding debe almacenarse en una fila independiente y puede incluir metadatos para filtrado, agregaciones o analítica. Aquí tienes un ejemplo de una tabla que puede almacenar imágenes con subtítulos:
3

Buscar embeddings relacionados

Supongamos que quieres buscar imágenes de perros en tu conjunto de datos. Puedes usar una función de distancia como cosineDistance para tomar el embedding de una imagen de perro y buscar imágenes relacionadas:
Esta consulta devuelve los nombres de _file y caption de las 10 imágenes con más probabilidades de estar relacionadas con la imagen de perro proporcionada.

Más información

Si quieres seguir un tutorial más detallado sobre búsqueda vectorial con ClickHouse, consulta:
Última modificación el 23 de julio de 2026