Что подавать в качестве запроса для поиска
Что проверяют
Понимаете ли вы, что поиск принимает на вход не просто текст, а подготовленное представление запроса, и умеете ли согласовать его с тем, как построен индекс. По ответу видно, собирали ли вы поиск сами или пользовались готовым.
Как отвечать
Начните со встречного вопроса: какой поиск. От этого зависит, что подавать.
- Лексический, вроде BM25: на вход идёт текст, прошедший ровно ту же обработку, что и документы при индексации. Токенизация, приведение к нижнему регистру, лемматизация или стемминг, стоп-слова, исправление опечаток, раскрытие синонимов. Расхождение обработки запроса и индекса рушит качество быстрее любых настроек ранжирования.
- Векторный: на вход идёт эмбеддинг, посчитанный той же моделью и той же её версией, что и эмбеддинги документов. У асимметричных моделей запрос и документ кодируются с разными префиксами или инструкциями, их нужно ставить; при косинусной близости векторы нормализуются.
- Гибрид: оба списка объединяются слиянием рангов, и это обычно сильнее каждого поодиночке.
Отдельно проговорите, чего в тексте запроса быть не должно: ограничения по региону, дате, цене и правам доступа передаются структурными фильтрами рядом с запросом, а не словами внутри него. В диалоговых сценариях запрос перед поиском переписывают с учётом истории, иначе просьба «а подешевле» ищется буквально. И следите за длиной: у модели есть окно, хвост длинного запроса молча отрезается.
Где спотыкаются
Кодируют запрос одной моделью, а индекс построен другой или её прежней версией. Поиск продолжает работать и выдавать что-то похожее, поэтому поломку замечают не сразу, а метрики уже просели.
Второе: вкладывают фильтры в текст. Векторная близость учитывает их приблизительно, и в выдаче оказываются позиции из другого города или недоступные конкретному пользователю, что уже не качество, а утечка данных.
Третье: оценивают на глаз по десятку запросов. Нужен размеченный набор и офлайн-метрики ранжирования, иначе каждая правка обработки текста или смена модели меняет выдачу непредсказуемо и обсуждается вкусовщиной.