Команда поис­ка и рекомен­даций

Помогаем пользователям легко находить нужные товары и услуги на Авито. Наша ежедневная работа — улучшать пользовательский опыт через релевантность поиска и лучшие персональные рекомендации. Это ключевые функции платформы, которые используют миллионы наших пользователей каждый день.

Развиваем качество поиска

Инфраструктура и функциональность

Разрабатываем алгоритмы и инфраструктуру для решения задач многокритериальной оптимизации, аукционной механики и персонального ранжирования.

Технологический стек

Создаём продуктовые Golang микросервисы на собственной PaaS платформе поверх k8s. Собираем и обрабатываем огромные массивы данных на Spark с помощью Python. Интегрируем open source решения: Postgres, Redis, Sphinx, Tarantool, Spark, Flink, AirFlow, Kafka.

Алгоритмы ранжирования

Обучаем модели машинного обучения для ранжирования результатов поиска. Предсказываем различные целевые события: релевантность по тексту, вероятности клика, совершения сделки. Учитываем более 50 сигналов: от пользовательского поведения до скорости доставки, качества услуг и надёжности продавца.

Навигация

Подсказываем пользователю, как ориентироваться на Авито: исправляем опечатки в текстовых запросах, помогаем выбрать нужные фильтры и параметры.

Создаём поисковой движок

Sphinx.cpp

Мы пишем на С++ и поддерживаем в бою поисковый движок — фактически, собственную СУБД. В разных базах миллиарды документов и терабайты данных. База Основного Поиска — это миллионы запросов в минуту.

Мы решаем задачи на всех уровнях: сегодня залезть в дизассемблер, завтра исправить хэш-таблицу, в среду — добавить новый сигнал ранжирования, к середине Q5 — приписать кластер. Постоянно оглядываемся на скорость, нагрузка обязывает.

Infra.go

Новые и измененные объявления должны постоянно и быстро появляться в результатах поиска и личных кабинетах. Это закон.

Для этого мы делаем доставку 100+ миллионов изменений в сутки данных до кластеров Sphinx. Технически в основном на Golang. А ещё мы помогаем коллегам в других командах с их кластерами Sphinx.

EveryMinute.zen

Следим, чтобы конкретные боевые задачи решались максимально простым и эффективным кодом, чтобы сбои чинились легко и быстро, чтобы документация таки велась и была полезная.

Главное — стараемся так жить ежеминутно и прямо сейчас, а не после следующего Нового Года. Такой нехитрый дзен.

Рекомендуем пользователям подходящие предложения

Качество рекомендаций

Рекомендации — это первое, что видит пользователь на Авито. С помощью машинного обучения мы определяем интересы пользователей и выбираем для них самые подходящие объявления.

Поиск
Поиск

Технологический стек

Разрабатываем одни из самых высоконагруженных сервисов в Авито. Используем Go, Python, фреймворки Pytorch и Catboost — для обучения моделей. Вместе с командой поиска интегрируем open source решения: Redis, Sphinx, Tarantool, Spark, Flink, AirFlow, Kafka.

Поиск
Поиск