Saltar al contenido principal
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 con la biblioteca de Python de código abierto SentenceTransformers. Puedes entender un embedding como un gran vector 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 generados los embeddings, debes almacenarlos en ClickHouse. Cada embedding debe almacenarse en una fila independiente y puede incluir metadatos para filtrado, agregaciones o análisis. Aquí tienes un ejemplo de una tabla que puede almacenar imágenes con descripciones:
Supongamos que quieres buscar imágenes de perros en tu conjunto de datos. Puedes usar una función de distancia como cosineDistance para usar el embedding de una imagen de perro y buscar imágenes relacionadas:
Esta consulta devuelve los nombres de _file y la caption de las 10 imágenes con más probabilidades de estar relacionadas con la imagen de perro que proporcionaste.

Más información

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