Когда ваш бизнес растёт со скоростью Ozon, стандартные инструменты перестают быть достаточно быстрыми, эффективными и управляемыми. Elasticsearch долгое время был нашим выбором, но наступил момент, когда его архитектура перестала отвечать нашим вызовам.
В этом материале мы рассказываем о пределах использования Elasticsearch в гипермасштабе и о ключевых причинах, которые заставили нас взяться за разработку собственного поискового ядра. Почему в качестве фундамента мы выбрали Apache Lucene? В чём заключаются принципиальные архитектурные отличия нашей системы от классического Elasticsearch? Почему мы создали собственный язык запросов и его оптимизатор? И самое главное: что крутого мы получили в итоге и какие масштабы теперь способен покрывать наш движок?
Для всех
Начальный
Старший разработчик поисковой платформы в Ozon. Создаёт новые технические фичи в движке: быстрое хранилище поисковых атрибутов и оптимизатор поисковых запросов. Улучшает производительность поиска и связанных подсистем. Разрабатывает внутренний тулинг команды, включая анализатор поискового индекса, продвинутый парсер запросов и кросс-платформенный клиент для управления кластером.
Основные языки разработки: Java, Rust. Фанат опенсорса, контрибьютил в OpenJDK, Rust, Lucene, one-nio, jrsonnet, Log4j.
Топит за строгую типизацию и максимальную статическую верифицируемость кода.
В свободное время занимается проектами биндинга для Flipper Zero и реализации модульного игрового сервера. Пишет квантовый ЯП, понемногу контрибьючит в nixpkgs.
Ранее работал в геймдеве, создавал игровые серверы и инфраструктуры вокруг них.
Специалист по защите информации.
Спикер конференций JPoint 2024, JPoint 2025, Joker 2025, SnowOne 2025. Эксперт конференции Joker 2023.
Занимается разработкой высоконагруженного и масштабируемого ПО, любит копаться в производительности, «кишочках» и байтиках. Последние пять лет разрабатывает Поиск в Ozon.
Руководитель отдела «Поисковая платформа». В задачи отдела входит разработка поискового движка Ozon, внедрение и алгоритмическая оптимизация ML-фичей в различные уровни поиска (index-time, L1-L3 в query-time). В IT 15 лет — большую часть времени работал в той или иной степени с технологиями информационного поиска, анализа данных и на стыке DS и runtime.
В свободное время занимается бегом, сочинением электронной музыки и преподавательской деятельностью — ведёт дипломников, аспирантов и руководит учебной программой, а также читает лекции по информационному поиску, машинному обучению, теории информации и алгоритмам.