Описание услуги
Поиск — это то, что пользователь замечает первым и прощает последним, поэтому я отношусь к нему как к отдельной инженерной дисциплине, а не как к придатку к бэкенду. Я проектирую и сопровождаю кластеры Elasticsearch и OpenSearch целиком: раскладываю ваши данные в аккуратные маппинги, подбираю правильные типы полей и собираю кастомные анализаторы с токенайзерами, стеммерами и словарями синонимов под ваш язык и предметную область. Когда выдача ведёт себя странно, я разбираюсь со скорингом — переписываю запросы, настраиваю бустинг, function score и ранжирование — пока в топе не окажется именно то, что нужно людям, и каждое изменение подкрепляю тестами релевантности, а не догадками.
Помимо самого поиска я закрываю тяжёлую аналитику и наблюдаемость. Пишу агрегации для дашбордов и отчётности, проектирую шаблоны индексов и политики жизненного цикла, чтобы данные корректно устаревали, и настраиваю ingest-конвейеры, которые разбирают, обогащают и нормализуют логи и события до попадания в индекс. По эксплуатации: рассчитываю шарды и ноды, планирую ёмкость, настраиваю снапшоты и восстановление, ужесточаю безопасность и роли, вылавливаю медленные запросы и горячие шарды, тихо съедающие ваш бюджет задержек. Запускаете новую функцию поиска, мигрируете между движками или версиями или спасаете кластер, который постоянно уходит в красный статус, — я работаю спокойно и размеренно и оставляю систему, которую можно поддерживать.
Мне важны скучные вещи, на которых держится надёжный поиск: воспроизводимая сборка индексов, переиндексация без простоя через алиасы, мониторинг, которому можно доверять, и документация, по которой команда справится и без меня.
— Проектирование кластера, сайзинг, шардирование и планирование ёмкости
— Маппинги, кастомные анализаторы, токенайзеры и синонимы
— Настройка релевантности, скоринга, бустинга и тесты качества поиска
— Агрегации для аналитики, дашбордов и отчётности
— Ingest- и лог-конвейеры, шаблоны индексов и политики жизненного цикла
— Переиндексация без простоя, снапшоты, мониторинг и разбор производительности
Помимо самого поиска я закрываю тяжёлую аналитику и наблюдаемость. Пишу агрегации для дашбордов и отчётности, проектирую шаблоны индексов и политики жизненного цикла, чтобы данные корректно устаревали, и настраиваю ingest-конвейеры, которые разбирают, обогащают и нормализуют логи и события до попадания в индекс. По эксплуатации: рассчитываю шарды и ноды, планирую ёмкость, настраиваю снапшоты и восстановление, ужесточаю безопасность и роли, вылавливаю медленные запросы и горячие шарды, тихо съедающие ваш бюджет задержек. Запускаете новую функцию поиска, мигрируете между движками или версиями или спасаете кластер, который постоянно уходит в красный статус, — я работаю спокойно и размеренно и оставляю систему, которую можно поддерживать.
Мне важны скучные вещи, на которых держится надёжный поиск: воспроизводимая сборка индексов, переиндексация без простоя через алиасы, мониторинг, которому можно доверять, и документация, по которой команда справится и без меня.
— Проектирование кластера, сайзинг, шардирование и планирование ёмкости
— Маппинги, кастомные анализаторы, токенайзеры и синонимы
— Настройка релевантности, скоринга, бустинга и тесты качества поиска
— Агрегации для аналитики, дашбордов и отчётности
— Ingest- и лог-конвейеры, шаблоны индексов и политики жизненного цикла
— Переиндексация без простоя, снапшоты, мониторинг и разбор производительности