Как устроена архитектура факторов ранжирования в рантайме поиска Ozon
- В поиске Ozon используется больше тысячи факторов ранжирования; новые факторы появляются ежедневно.
- Сервис o2-midway получает товары от нижестоящих сервисов и перед ответом клиенту пересчитывает их порядок, включая скоры ML-моделей на каждый поисковый запрос.
- Зависимости факторов представлены как направленный ациклический граф (DAG): для любой сортировки достаточно вычислить нужный подграф, а сам граф строится на старте приложения.
- Добавление фактора в o2-midway описывается декларативно через input/output, а детали вычисления берёт на себя инфраструктура графа.
- Проблема релиза для типовых факторов решается сервисом feature-
meta1-store: он хранит метаописания факторов и позволяет автоматически добавлять их в граф. - Для защиты продакшена описаны ревизии факторов для окружений и проверки новых моделей в ml-pipeline (перформанс и качество), отчёты сравнения с baseline и последующая раскатка через продакшен.
Почему это важно: Когда факторов и моделей много, ключевой сложностью становится управление зависимостями и скорость экспериментов. Описанная схема показывает, как ускорять изменения без релизов и при этом удерживать контроль качества и производительности. Для поискового ранжирования это напрямую связано с релевантностью выдачи и временем ответа.
На что обратить внимание: В тексте кэши упоминаются, но не рассматриваются, поэтому акцент сделан на вычислениях в момент запроса. Для типовых факторов и формул используется метаописание и валидация: при несовпадении зависимостей формула может быть отклонена ещё на этапе добавления в ревизию. Процесс продвижения модели в продакшен подразумевает точку контроля через отчёты, UI и отдельную раскатку с тестированием.
Читайте также
Манипулирование данными или как не дать графикам себя обмануть
OpenAI планирует десктопный «суперапп»- Search Engine JournalВы масштабируете не контент, а разочарование
Почему The Trade Desk пошла в атаку на прессу, Уолл-стрит, Мэдисон-авеню и Amazon
Как агентский стартап использует данные в реальном времени для создания рекламы в реальном времени
- Факторы ранжирования как DAG: вычисление подграфа под задачу сортировки: Факторы и их зависимости можно моделировать направленным ациклическим графом (DAG), где каждый фактор — узел, а ребро — зависимость по входам. Для разных режимов ранжирования достаточно вычислять только нужный подграф: например, «по цене» — один узел, «по релевантности» — несколько, а «по комплексному скору» — весь граф.
[Архитектура]
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться
Инженер поиска Ozon описывает, как в рантайме вычисляются факторы ранжирования и как сервис o2-midway меняет порядок товаров в выдаче. Главная идея: факторы оформлены как DAG и поставляются через метасервис, чтобы быстрее экспериментировать и безопаснее выкатывать модели.