Разработчик в команду построения поисковой базы

Яндекс · Москва · по договорённости

Компания
Яндекс
Город
Москва
Зарплата
по договорённости
Уровень
middle
Формат
гибрид

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

Мы работаем с десятками тысяч вычислительных ядер и десятками петабайт данных, используем большой набор различных технологий — от фреймворков потоковой обработки данных, распределённых персистентных очередей до взаимодействия с KV-storage и MapReduce-системой YT — и стремимся ускорить доставку данных в Поиск. Ищем опытного разработчика на C++, который нам в этом поможет.

Что предстоит делать:
Перевод построения большой базы Поиска на event-driven-архитектуру

Мы уже перевели на потоковую обработку два контура построения небольших поисковых индексов, отвечающих за свежие документы, что значительно уменьшило время доставки данных до Поиска. Самый важный третий контур в несколько сотен миллиардов документов всё еще строится пакетами в парадигме MapReduce. Изменения данных или факторов ранжирования здесь доставляются до Поиска несколько дней, а это очень долго.

Мы верим, что перевод на потоковую обработку позволит значительно ускорить доставку данных до Поиска, а также сэкономить потребляемые вычислительные мощности. Вам предстоит прорабатывать дизайн архитектуры и разрабатывать сервисы потокового построения основной базы Поиска.

Развитие поисковых индексов

Яндекс Поиск постоянно растёт и развивается. Новая функциональность или факторы ранжирования требуют модернизации существующих поисковых индексов, а порой и создания новых. Вам предстоит внедрять доставку новых данных до Поиска совместно со смежными командами, занимающимися качеством и рантаймом Поиска.

Улучшение сервисов построения поисковой базы

Помимо построения базы Поиска, мы отвечаем и за ряд смежных сервисов, решающих задачи предоставления фавиконок, определения зеркал сайтов и дублей веб-страниц, обработки пользовательских факторов ранжирования и не только. У нас вы сможете проявить себя как в инфраструктурных задачах (повышении отказоустойчивости, оптимизации потребления памяти), так и в продуктовых внедрениях: новых форматах сжатия фавиконок, улучшении точности алгоритма определения дублей.

Больше о бэкенде в Яндексе — в канале Yandex for Backend

Требования:
• Хорошо знаете базовые алгоритмы и структуры данных
• Хорошо знаете С++
• Знакомы с паттернами и идиомами построения программного обеспечения
• Умеете писать надёжный и читабельный многопоточный код

Будет плюсом:
• Работали с большими данными
• Строили распределённые системы потоковой обработки данных
• Знакомы с Python

Открыть и откликнуться →

Отклик ведёт на сайт работодателя. Бесплатная регистрация открывает отклик и разбор резюме.