Векторный поиск — способ находить в тех же данных не слово, а смысл; нужен там, где люди описывают одно и то же разными словами, а точный поиск эту разницу не видит.
Один клиент написал «не работает оплата», второй — «деньги не проходят», третий — «карту не принимает». По смыслу это одна и та же проблема, но обычный поиск по словам ищет буквальные совпадения: если в запросе слово «оплата», он найдёт первое обращение и не заметит два других — там этого слова просто нет.
Решение — представить текст не набором слов, а точкой на карте смыслов: близкие по смыслу фразы оказываются рядом, далёкие — далеко друг от друга. Такую точку называют эмбеддингом — набором чисел-координат, в которые модель переводит любой текст. Считает эти координаты не сам Postgres, а отдельная модель-эмбеддер — например, gemini-embedding-001 у Google или открытая модель вроде российской FRIDA; агент на момент внедрения сам подскажет, какая лучше подходит под русский язык. Сравнение «насколько близки два текста по смыслу» превращается в обычную математику — компьютер справляется за миллисекунды даже на миллионах записей.
У Postgres есть расширение pgvector, которое добавляет прямо в базу из …