
яндекс · 11 июн.
SaaS (Search-as-a-Service) — общая поисковая платформа в Яндексе. Мы создаём технологии, благодаря которым другие команды получают готовый полнотекстовый поиск, key-value-хранилище (eventually consistent) или kNN — и не тратят месяцы на разработку и поддержку собственного решения. Платформой пользуются сотни сервисов компании, а суммарный объём поисковых индексов исчисляется петабайтами.
Наша команда строит новое поколение поисковой индексации — большую распределённую систему, поверх которой работают поисковые и рекомендательные сценарии. Мы отвечаем за то, как миллиарды документов попадают в индексы, хранятся, обновляются и доставляются до рантайма — при полной перестройке индекса и в потоковом режиме, когда данные приходят практически в реальном времени.
Сегодня поиск становится основой для современных RAG-систем и AI-агентов, и требования к индексации только растут: нужно работать с ещё большими объёмами данных, развивать инфраструктуру и внедрять новые типы индексов — например, векторные для семантического поиска.
Всё это — сложная работа на стыке высоконагруженных систем, низкоуровневой оптимизации и R&D, от которой зависит будущее нашего поиска.
Разработка общих механизмов индексации
Вы будете строить распределённые системы, которые обрабатывают миллиарды документов и поддерживают разные режимы индексации, включая полную перестройку индекса, потоковый режим и их гибридную комбинацию. При этом сами алгоритмы должны быть не только быстрыми, но и надёжными — например, гарантировать, что документы попадают в индекс в том же порядке, в котором изначально были отправлены.
Улучшение эффективности индексации и хранения данных
Мы строим технологию, на которой будут работать самые большие сервисы компании, поэтому эффективность использования железа критична — на нашем масштабе даже небольшой выигрыш в производительности экономит ощутимые ресурсы. Вы будете оптимизировать построение индексов на самом низком уровне, применять и улучшать современные кодеки сжатия, а также искать новые способы выжимать из железа максимум.
Создание движка векторного поиска
Современные RAG-системы и AI-агенты сделали векторный поиск массовым: всё больше сервисов компании приходят к нам за kNN-поиском и предъявляют к нему более высокие требования по функциональности, скорости, качеству и масштабу. Чтобы закрыть этот спрос, мы с нуля разрабатываем движок приближённого поиска. Вы будете проектировать и запускать собственный kNN, способный работать на масштабах компании.
Проектирование архитектуры и проведение R&D
Мы создаём систему нового поколения, и многие вопросы ещё остаются открытыми. Вы будете участвовать в формировании и принятии ключевых архитектурных решений и проверять их на практике: исследовать, тестировать и внедрять новые подходы к обработке петабайтов данных, их эффективному хранению и быстрой доставке обновлений до поиска.
Больше о бэкенде в Яндексе — в канале Yandex for Backend
* Уверенно владеете C++ и хотите на нём писать
* Хорошо знаете классические алгоритмы и структуры данных
* Разрабатывали высоконагруженные распределённые системы и понимаете паттерны их проектирования
* Умеете писать надёжный и быстрый многопоточный код
* Понимаете устройство современных поисковых систем и баз данных, знакомы с внутренностями Lucene, Elasticsearch, Qdrant, ClickHouse
* Знаете, как работают инвертированные индексы, приближённый поиск и различные алгоритмы ранжирования
* Знакомы с SIMD и понимаете, как работают современные кодеки сжатия
* Профилировали и оптимизировали приложения (CPU-bound и I/O-bound)
* Работали с технологиями потоковой обработки данных (Kafka, Flink) или MapReduce