Как проверить поисковый запрос на соответствие стране/городу?
На сайте (Laravel, MySQL) сейчас пользователи вводят в поисковую форму запросы. Мне нужно при каждом запросе проверить
- является ли введённый запрос страной
- является ли он городом
- или является чем-то иным
Есть своя база стран и городов, и сейчас при поиске я сначала в MySQL делаю select по странам, а если ответ нулевой, то делаю запрос по базе городов (~2.5 млн записей), а если и там нулевой, но увожу пользователя дальше...но вот это время ожидания, пока система проверит запрос на соответствие стране/городу получается очень большим. Нужно сделать это время минимальным, есть идеи как? Может быть есть какие-то API внешние, которые либо под geo заточены, либо просто могут вернуть сущность полученного запроса?
Судя по тому, что эти запросы занимают какое-то измеримое время, сайт хостится на стиральной машинке?
Вариант использовать компьютер для этих целей не рассматривали?