Иногда задачи в проектах выглядят очень просто… Пока ты не начинаешь их делать. У нас был проект с уже внедрённым поиском на OpenSearch. Всё работало: индексы, фильтры, кастомная логика запросов — даже своя «мини-ORM» над поиском, через которую фронтенд отправлял сложные query. И в какой-то момент пришло решение: «Давайте просто заменим OpenSearch на TypeSense.» Спойлер: это никогда не бывает «просто». На бумаге выглядело логично — TypeSense дешевле в эксплуатации. Казалось, что это технический размен без особых потерь. Самое важное ограничение — фронтенд не должен заметить никаких изменений. То есть API остаётся тем же, структура запросов остаётся той же, поведение поиска остаётся тем же. А внутри — полностью другой движок. Мне нужно было брать запросы, заточенные под OpenSearch, трансформировать их, отправлять в TypeSense и возвращать результат в прежнем формате. По сути — написать полноценный адаптер между двумя разными мирами. Ожидание: «Ну там клиент поменять и пару запросов попра
Как мы мигрировали поиск с OpenSearch на TypeSense, эксплуатируя ИИ, и выжили
1 июня1 июн
3
3 мин