Войти Регистрация
System design

7. Поиск объявлений с фильтрами

Средняя

В плейбуке Авито секция проектирования описана как «спроектируем Авито». Здесь — её часть: поиск. Пройдите шаги: уточните требования, оцените нагрузку, выберите решения, нарисуйте схему.

Для расчёта: 150 млн активных объявлений, документ в индексе — около 2 КБ. Запрос «iphone 13 до 40 000 ₽ в Казани» — текст плюс фильтры по цене, городу, категории и параметрам категории.

За сутки 5 млн объявлений создаётся, меняется или снимается. Пик поиска — 10 тыс. запросов в секунду.

В работе: Поиск — главный вход в Авито: продавец ждёт, что объявление найдут через минуту после публикации.

Как проверяем Шаги с вариантами и расчётами проверяем автоматически: число засчитано, если оно в пределах допуска от эталона. Схему вы оцениваете сами по чек-листу. Зачёт — схема набрала 60 % чек-листа и верны 70 % остальных пунктов. Ответ один на подход: после него показываем разбор.
поисковый индексCDCшардированиекэш

Источник: Авито: необязательная секция проектирования «спроектируем Авито». Условие пересказано своими словами.

Давали на собеседовании? Ответов пока мало — ваш поможет.
  1. Уточнить требования — Что уточнить?
  2. Оценить объёмы
  3. Движок поиска — Где искать?
  4. Шардирование индекса — Как делить индекс?
  5. Схема — Опишите путь объявления в индекс и путь поискового запроса.