Перейти к основному содержанию
Да, ClickHouse поддерживает векторный поиск. Основные преимущества использования ClickHouse для векторного поиска по сравнению с более специализированными векторными базами данных:
  • Возможность использовать фильтрацию и полнотекстовый поиск ClickHouse, чтобы сузить датасет перед выполнением поиска.
  • Возможность выполнять аналитику по вашим датасетам.
  • Возможность выполнять JOIN с уже имеющимися данными.
  • Не нужно управлять еще одной базой данных и усложнять инфраструктуру.
Ниже — краткое руководство по использованию ClickHouse для векторного поиска.

1. Создайте эмбеддинги

Ваши данные (документы, изображения или структурированные данные) нужно преобразовать в эмбеддинги. Мы рекомендуем создавать эмбеддинги с помощью OpenAI Embeddings API или открытой Python-библиотеки SentenceTransformers. Эмбеддинг можно представить как большой массив чисел с плавающей запятой, который представляет ваши данные. Ознакомьтесь с этим руководством от OpenAI, чтобы узнать больше об эмбеддингах.

2. Сохраните эмбеддинги

После того как вы сгенерировали эмбеддинги, их нужно сохранить в ClickHouse. Каждый эмбеддинг следует хранить в отдельной строке; при необходимости можно также добавить метаданные для фильтрации, агрегаций или аналитики. Вот пример таблицы, в которой можно хранить изображения с подписями:
CREATE TABLE images
(
	`_file` LowCardinality(String),
	`caption` String,
	`image_embedding` Array(Float32)
)
ENGINE = MergeTree;
Допустим, вы хотите найти в своем наборе данных изображения собак. Для этого можно использовать функцию расстояния, например cosineDistance, чтобы взять эмбеддинг изображения собаки и найти похожие изображения:
SELECT
    _file,
	caption,
	cosineDistance(
        -- Эмбеддинг вашего «входного» изображения собаки
        [0.5736801028251648, 0.2516217529773712, ...,  -0.6825592517852783],
        image_embedding
    ) AS score
FROM images
ORDER BY score ASC
LIMIT 10
Этот запрос возвращает имена _file и caption 10 изображений, которые, скорее всего, связаны с предоставленным вами изображением собаки.

Дополнительные материалы

Более подробное руководство по векторному поиску в ClickHouse см. здесь:
Последнее изменение 10 июня 2026 г.