Я пытаюсь реализовать индивидуальный поиск в моем приложении. Структура таблицы приведена ниже
основной стол:
Учитель
подстолы:
навыки
skill_values
город
city_values
Поиск будет запускаться с местоположением, которое находится в таблице city_values со ссылочным полем user_id и city_id. Здесь название города, его широта и долгота находятся под таблицей городов.
Поиск также включает в себя навыки, таблицы отношений похожи на город. Таблица users и таблица skill_values могут быть связаны с полем user_id в таблице skill_values. Таблица скиллов и skill_values, связанных с полем skill_id в таблице skill_values.
Здесь нам нужно найти местоположение пользователя, который выполняет этот поиск, и отфильтровать результаты в радиусе 20 миль. Также есть несколько других фильтров.
Моя проблема в том, что мне нужно отфильтровать эти результаты без перезагрузки страницы. Поэтому я использую ajax, но если количество записей увеличится, мой ajax-запрос займет много времени для получения ответа.
Это хорошая идея, если я использую некоторые серверы поиска с открытым исходным кодом, такие как sphinx или solr, для получения результатов с сервера?
Я использую CAKEPHP для разработки, и мое приложение размещено на облачном сервере.