Что такое re-ranking и почему он не находит пропущенный товар
Re-ranking, или переранжирование, меняет порядок уже найденных кандидатов. Если товар не попал на вход этого этапа, сам reranker его не добавит: искать причину нужно в отборе кандидатов или фильтрах. Документация Elastic описывает именно такую последовательность.
Где заканчивается поиск и начинается перестановка
Первичный отбор — retrieval — формирует список кандидатов. Reranker получает этот список и уточняет порядок. У Elastic исходные документы создаёт дочерний retriever; размер рассматриваемого окна задаётся отдельно.
Состав видимой выдачи при этом может меняться. Окно и число
показываемых результатов ограничивают список, а порог
min_score в Elastic
может исключать документы. Разница проста: перестановка не извлекает
пропущенный товар заново, но последующие ограничения могут убрать уже
найденный.
Пример на шести вымышленных SKU
В учебном комплекте отдельно заданы каталог, первичный отбор, фильтр наличия, желаемый порядок и pin/hide. Данные вымышлены редакцией; код не обращается к поисковому сервису или нейросети. Исходные роли — в учебном каталоге.
| SKU | Что задано в примере | Может ли сам reranker добавить товар |
|---|---|---|
| A | Найден, в наличии, порядок свободный | Уже есть среди кандидатов |
| B | Найден, в наличии, порядок свободный | Уже есть среди кандидатов |
| C | Найден, в наличии, порядок свободный | Уже есть среди кандидатов |
| P | Найден, в наличии; закрепляем на втором месте | Уже есть; закрепление — отдельное правило |
| F | Найден, но не прошёл фильтр наличия | Нет: не передан reranker |
| X | Есть в каталоге, но не найден первичным отбором | Нет: не передан reranker |
Все строки — из учебного входа, не из реального каталога.
Первичный отбор в упражнении: A, F, P, B, C. После
фильтра наличия остаются кандидаты A, P, B, C. Затем
редакция явно задаёт перестановку C, B, A, P. Это выбранный
учебный порядок, не расчёт баллов и не алгоритм
Algolia. Вход и код
доступны для повтора.
Отдельное правило закрепляет P на втором месте: итог
C, P, B, A. В дополнительном сценарии скрываем C после
перестановки и получаем B, P, A. F и X не появились ни в
одном из этих результатов. Промежуточные этапы сохранены в базовом CSV и CSV со скрытием.
В модели pin разрешён только для уже найденного P. Это граница упражнения, а не запрет любого поискового движка вставлять товары правилами продвижения. Для повтора нужен Python со стандартной библиотекой, без аккаунта или платных API. Команды и ограничения — в инструкции, входы, фактический вывод и проверки — в записи прогона.
Как это соотносится с Algolia
Algolia Dynamic Re-Ranking использует события кликов и конверсий, чтобы учитывать изменение популярности. Он переставляет допустимые результаты после текстовой релевантности, фильтров и custom ranking; новых записей сам не добавляет. Это конкретная реализация, не определение всех семантических reranker.
По документации Algolia, pin и hide применяются после Dynamic Re-Ranking. Но Rules — отдельный механизм: pin может вставлять запись на заданное место. Поэтому «reranker не добавляет SKU» не означает «весь конвейер не может добавить SKU».
Соответствие закреплённых товаров активным фильтрам тоже
настраивается отдельно: Algolia
указывает filterPromotes=true для закрепления только
подходящих записей. Нельзя переносить фильтр нашего упражнения на любые
настройки Rules.
Пример помогает проверить логику поиска магазина. Документы открыты; аккаунт, тариф, оплата и работа Algolia из России редакцией не проверялись. Учебный код выполняется локально без аккаунта.
Что проверять по симптому
Это диагностические подсказки редакции, а не установленные причины сбоя конкретного магазина.
| Симптом | Слой для проверки | Что сравнить |
|---|---|---|
| Товар отсутствует уже до фильтра | Первичный отбор | Есть ли SKU в индексе и в кандидатах этого запроса |
| Товар был найден, но исчез до reranker | Фильтры | Входные атрибуты и фактические условия отбора |
| Товар есть среди кандидатов, но ниже ожидаемого | Ранжирование | Порядок до/после и окно, которое получил reranker |
| Товар пропадает после reranker | Окно, порог, правила | Полный список этапа против видимого списка; hide |
| Позиция не меняется | Правила закрепления | Применялся ли pin; он может объяснить фиксированное место |
Вместо обещания «ИИ исправит поиск» попроси у подрядчика идентификаторы кандидатов до и после каждого этапа. Тогда пропущенный товар и низкая позиция перестанут выглядеть одной проблемой. Для более широкой проверки — приёмка поиска по каталогу.
Источники и файлы
29 октября 2026 редакция проверила документацию и выполнила учебный прогон. Algolia и Elasticsearch не тестировали, рост конверсии не измеряли.
- Elastic: semantic re-ranking — роль этапа.
- Elastic: reranker retriever — входные кандидаты, окно и порог.
- Algolia: Dynamic Re-Ranking — границы и последовательность.
- Algolia: Rules и продвижение записей — pin и фильтры.
- Комплект с кодом, результат проверок. Самостоятельные файлы: генератор, проверки, ручной эталон.