Векторный поиск: что это и как работает
Объясняем векторный поиск без математики: как текст превращается в числа, почему это находит товар без совпадения слов и где такой поиск ошибается.
Векторный поиск — это способ искать по смыслу текста, а не по совпадению слов. Он умеет находить экскаватор по запросу «выкопать яму под фундамент», хотя общих слов в них нет. Разберём, как это устроено, без формул.
Как работает векторный поиск
Модель читает текст и выдаёт набор чисел — вектор. Правило одно: близкие по смыслу тексты дают близкие векторы.
Дальше всё просто:
- Каждой карточке каталога один раз считается вектор — по названию, описанию и характеристикам.
- Запросу клиента считается вектор в момент поиска.
- Система ищет карточки, чьи векторы ближе всего к вектору запроса.
Никакого перебора слов не происходит. Сравниваются смыслы.
Чем это отличается от обычного поиска
Полнотекстовый поиск отвечает на вопрос «где встречаются эти слова». Векторный — на вопрос «что похоже по смыслу».
Разница на примерах:
- «чем поднять плиту на третий этаж» → находит кран-манипулятор, хотя слова «кран» в запросе нет;
- «что-нибудь недорогое для дачи» → находит технику и услуги нужного класса, а не карточку со словом «недорогое»;
- «мойка высокого давления» → тут отлично сработает и обычный поиск: слова совпадают.
Отсюда вывод: векторный поиск не отменяет полнотекстовый, он закрывает те запросы, где слова не совпадают.
Семантический векторный поиск: в чём разница
Семантический поиск — это задача: найти по смыслу. Векторный — способ её решить: перевести смысл в числа и сравнить их. Когда говорят «семантический векторный поиск», имеют в виду именно это сочетание.
Бывает семантический поиск и без векторов: по словарям синонимов, по правилам, по онтологиям. Он предсказуем, но не понимает формулировок, которых нет в словаре. Векторы понимают любые, но иногда ошибаются уверенно. На практике их совмещают: словарь ловит точные термины, вектор — всё остальное.
Как это устроено у крупных площадок
Маркетплейсы и классифайды вроде Авито, Озона и Яндекс Маркета используют векторный семантический поиск давно. По их публичным докладам схема похожа:
- запрос и объявление переводятся в векторы моделями, обученными на истории кликов и покупок, а не только на тексте;
- сначала быстро отбираются несколько сотен кандидатов по близости векторов;
- затем их переранжирует отдельная модель, которая учитывает цену, регион, свежесть и поведение покупателей.
Алгоритм каждой площадки закрыт, но принцип общий: вектор отвечает за то, чтобы нужное попало в кандидаты, а ранжирование — за порядок. Магазину на тысячу карточек вся эта машина не нужна, но идея та же: смысл плюс фильтры плюс порог.
Где он ошибается
Слабые места нужно знать заранее:
- Точные артикулы и модели. «JCB 3CX» — это не смысл, а строка. Векторный поиск здесь проигрывает точному совпадению.
- Числа и единицы. «Стрела 22 метра» модель понимает как смысл, а не как условие. Числовые ограничения должны работать фильтром поверх.
- Пустые карточки. Если в описании три слова, вектор посчитан по трём словам.
- Похожее вместо нужного. Модель всегда найдёт что-то ближайшее. Без порога отсечения она будет предлагать похожее там, где правильный ответ — «такого нет».
Поэтому на практике работает связка: точное совпадение + вектор + фильтры + порог, ниже которого система честно отвечает, что не нашла.
Что нужно, чтобы это заработало на вашем каталоге
- Осмысленные названия. Не «Модель 4213», а «Экскаватор-погрузчик, ковш 0,3 м³».
- Описание хотя бы в одно-два предложения, желательно с назначением: для чего эта позиция.
- Характеристики отдельными полями, а не сплошным текстом.
- Регулярная переиндексация: вектор считается при загрузке карточки, изменили описание — пересчитайте.
Подробный чек-лист — в статье как подготовить каталог к умному поиску.
Сколько это стоит по ресурсам
Три величины, которые стоит понимать перед внедрением:
- Индексация. Считается один раз на карточку и повторяется при изменении. Для каталога в несколько тысяч позиций это минуты.
- Поиск. Сравнение векторов — быстрая операция. До нескольких тысяч карточек она уверенно укладывается в доли секунды даже без специальной базы.
- Хранение. Вектор — это несколько сотен чисел на карточку. На больших каталогах имеет смысл специализированное хранилище, на средних хватает обычной базы.
Вывод и следующий шаг
Векторный поиск — рабочий инструмент против запросов, где клиент описывает задачу своими словами. Он не заменяет точный поиск и фильтры, а дополняет их.
Следующий шаг: возьмите десять запросов, на которых ваш поиск сейчас выдаёт пустоту, и посмотрите, есть ли в каталоге товар, который человек имел в виду. Если есть — вам не хватает именно смысла.
Частые вопросы
Векторный поиск и семантический — это одно и то же?
Почти. «Семантический» описывает результат — поиск по смыслу. «Векторный» описывает способ, которым это сделано.
Нужна ли специальная база данных?
Не всегда. На каталогах до нескольких тысяч позиций близость считается прямо в приложении. Векторные расширения баз нужны, когда карточек десятки тысяч. Сравнение вариантов — в статье векторный поиск в PostgreSQL, Elasticsearch и векторных БД.
Как часто пересчитывать векторы?
При каждом изменении названия, описания или характеристик карточки. Цена и наличие на вектор не влияют.
Векторный поиск работает с опечатками?
Обычно да, потому что смысл сохраняется. Но грубые опечатки в редких словах лучше чинить отдельно.
Можно ли совместить его с фильтрами?
Не просто можно, а нужно: фильтры отсекают по жёстким условиям, вектор ранжирует то, что осталось.
Что делать, если поиск выдаёт «похожее», а не нужное?
Настроить порог отсечения и явно говорить клиенту, что точного совпадения нет. Об этом — честное «нет» работает лучше похожего товара.
Читайте также
- Векторный поиск по тексту на примере каталога
- Векторный поиск в PostgreSQL, Elasticsearch и векторных БД: что выбрать
- RAG и векторный поиск: как ИИ отвечает по данным сайта
- Семантический поиск против поиска по ключевым словам
- Что такое умный поиск на сайте и чем он отличается от обычной строки
- Эмбеддинги каталога: что считается и как часто пересчитывать
- Умный поиск документов: как находить информацию по смыслу, а не по названию файла
Посмотреть на своём каталоге, как это работает: демо за пять минут.