Назад к подготовке

Векторный и полнотекстовый поиск

Чем векторный поиск отличается от полнотекстовый поиск и почему часто нужен hybrid?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

Короткий ответ

Full-text хорош для точных слов, имен, ID и редких терминов. Векторный поиск ловит смысл и перефразировки. Hybrid повышает recall, потому что эти методы ошибаются по-разному.

Полный разбор

Full-text search строится на токенах: BM25, inverted index, exact/partial match, поля, фильтры. Он надежен для названий, кодов, уникальных терминов, ошибок и случаев, где точная формулировка важна.

Векторный поиск кодирует query и документы в embeddings и ищет ближайшие векторы. Он лучше переносит синонимы и неполные формулировки, но может промахиваться по точным редким сущностям или числам.

Hybrid retrieval объединяет кандидатов из обоих источников: union, score normalization, weighted merge или RRF, затем reranker. Важно логировать вклад каждого источника и оценивать Recall@K до реранкинга.

Теория

Lexical и semantic retrieval дополняют друг друга; в production редко стоит выбирать только один.

Типичные ошибки

  • Полностью заменить BM25 embeddings-поиском.
  • Складывать scores разных индексов без нормализации.
  • Не анализировать, какой источник нашел правильный документ.