Мы пишем Поиск. Именно в коде базового Поиска сосредоточена основная логика обработки поисковых запросов и подбора релевантных документов. Сегодня базовый Поиск — высоконагруженный сервис, который обрабатывает десятки миллионов запросов в секунду и эффективно хранит десятки петабайт поисковых индексов, отвечая на поисковые запросы за десятки миллисекунд.
Наша команда разрабатывает базовые технологии поискового рантайма, оптимизируя поисковые алгоритмы как на низком уровне, близком к операционным системам и железу, так и на более высоком уровне — с точки зрения организации верхнеуровневой архитектуры. Мы пишем код с высокими требованиями к эффективности потребления ресурсов. Например, оцениваем процессорное время, потраченное на обработку одного запроса, постоянно анализируем флейм-графы с различным профилем нагрузки, считаем количество дисковых операций и т. д.
Казалось бы, задача поиска давным-давно решена — поисковые системы надо просто поддерживать: срезать по паре процентов утилизации ресурсов в год, заменяя хешмапу новой, более быстрой. Но при ближайшем рассмотрении оказывается, что всё только начинается. Большая часть наших внедрений — сложная перестройка всей архитектуры Поиска и построения индексов, которые позволяют кратно экономить ресурсы (например, выделяем микросервисы по доминантному ресурсу).
Развитие ecom-направления Поиска в России
Яндекс активно развиваемся в ecom. Мы планируем улучшить ранжирование товаров в Поиске, предлагая актуальные и релевантные торговые площадки по запросам пользователей. Наша команда хочет построить отдельные поисковые индексы и внедрить рекомендательные алгоритмы для поиска наиболее подходящих интернет-магазинов по запросам пользователей. Мы видим большой потенциал в этом проекте.
Стриминговая поисковая база
Прямо сейчас мы продумываем дизайн архитектуры большой потоковой поисковой базы. Мы занимаемся миграцией поисковых индексов с батч-построения (технологии MapReduce) на стриминговый подход. Уже успешно перевели часть поисковых индексов, отвечающих за свежий срез документов в Поиске, на эти технологии, а сейчас — в ближайшие месяцы — хотим масштабировать решение на всю поисковую базу.
Унификация технологий
В базовом Поиске для построения поисковых шардов используется несколько разных технологий. Также заметно отличаются архитектуры поискового рантайма. Мы планируем унифицировать базовый стек технологий в этом месте не только для веб-поиска, но для поиска по картинкам и видео.
Оптимизация архитектуры
Мы регулярно пересматриваем архитектуру поискового рантайма. Придумываем, как повысить эффективность обработки поисковых запросов. Также перестраиваем архитектуру, чтобы масштабировать поисковый индекс. Например, за последние годы мы смогли вырастить поисковую базу по размеру в 100 раз.
Больше о бэкенде в Яндексе — в канале Yandex for Backend