Точный поиск ближайших векторов перебором — O(n) на запрос. Для миллионов векторов используют приближённые индексы: HNSW (граф ближайших соседей) или IVF (кластеры), которые находят почти всех ближайших соседей за миллисекунды.
Что важно знать
- pgvector — векторный поиск прямо в PostgreSQL: проще эксплуатация, транзакции, фильтры и JOIN с обычными данными. Хватает на миллионы векторов.
- Специализированные базы (Qdrant, Milvus, Weaviate) — масштаб, встроенный гибридный поиск, шардирование.
- Фильтрация по метаданным (пользователь, права доступа, дата) обязательна: нельзя показать пользователю чужие документы.
- Параметры HNSW (
ef,M) — компромисс точности, скорости и памяти. - Обновление и удаление документов: идентификаторы фрагментов, переиндексация при изменении источника.