Для поиска написан бекенд на elasticsearch и API к нему.

Если коротко - отправляем в API параметры поиска (фильтр, сортировку, пагинацию и пр), в ответ получаем два объекта - новое состояние фильтра и список найденных серверов. Ниже на примерах описана часть сценариев, касающихся вывода фильтра - какие действия производим, что в результате нужно отправить API, что оно возвращает и как это потом должно выглядеть на сайте.

Первое отображение