Описание
SaaS — общая поисковая платформа Яндекса, которая предоставляет другим командам полнотекстовый поиск, key-value-хранилище и kNN. Ею пользуются сотни сервисов компании, а объём поисковых индексов достигает петабайтов. Команда развивает распределённую систему индексации для поисковых и рекомендательных сценариев, обрабатывая миллиарды документов в потоковом режиме и при полной перестройке индекса.
Задачи
•Разрабатывать общие механизмы индексации и распределённые системы для обработки миллиардов документов
•Поддерживать полную перестройку индекса, потоковую индексацию и их гибридную комбинацию
•Обеспечивать надёжность алгоритмов, в том числе сохранение порядка поступления документов
•Оптимизировать построение индексов и использование оборудования
•Применять и улучшать кодеки сжатия
•Разрабатывать движок приближённого векторного поиска kNN
•Проектировать архитектуру системы и принимать ключевые архитектурные решения
•Исследовать, тестировать и внедрять новые подходы к обработке, хранению и доставке обновлений данных
Требования
•Уверенно владеть C++ и быть готовым писать на нём
•Хорошо знать классические алгоритмы и структуры данных
•Иметь опыт разработки высоконагруженных распределённых систем и понимать паттерны их проектирования
•Уметь писать надёжный и быстрый многопоточный код
Будет плюсом
Знание поисковых систем, баз данных, Lucene, Elasticsearch, Qdrant, ClickHouse, инвертированных индексов, приближённого поиска, алгоритмов ранжирования, SIMD, кодеков сжатия, профилирования и оптимизации приложений, Kafka, Flink или MapReduce
Условия
Условий в вакансии нет