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

Когда нужен векторный поиск, а когда full-text

В продукте есть поиск по документам/артефактам. Когда использовать full-text, когда векторный поиск, и зачем может понадобиться hybrid retrieval?

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

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

Загрузка

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

Full-text хорош для точных терминов и фильтров; vector search - для семантической близости; hybrid объединяет lexical precision и semantic recall.

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

Full-text поиск вроде BM25 хорошо работает, когда запрос содержит важные ключевые слова, имена, коды, названия полей. Он прозрачен, быстрый и удобно комбинируется с фильтрами.

Vector search нужен, когда пользователь формулирует смысл другими словами или ищет похожие документы без точного совпадения терминов. Но embeddings могут ошибаться на числах, редких именах и точных constraints.

Поэтому часто используют hybrid: retrieve кандидатов BM25 и vector search, затем merge/rerank. В RAG это повышает recall, а reranker или business rules помогают вернуть точный порядок.

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

  • Считать vector search полной заменой BM25.
  • Не учитывать exact identifiers и фильтры.
  • Не иметь eval по Recall@K/NDCG.

Как отвечать на собеседовании

  • Приведи пример: артикул ищем full-text, смысловой вопрос - vector.
  • Назови hybrid retrieval and reranking.