Прежде всего, это не обязательно вопрос. Но я действительно хочу узнать ваше мнение о производительности и возможных проблемах этого "режима" поиска.
Мне нужно создать действительно сложный поиск по нескольким таблицам с множеством фильтров, диапазонов и правил ... И я понимаю, что могу создать что-то вроде этого:
- Отправить форму поиска
- Внутренне я запускаю каждый фильтр и логику поэтапно (это может занять несколько секунд)
- После того, как я найду все подходящие записи (результат, который мне нужен), я создаю запись в своей таблице
searches
, генерирующую токен этого поиска (на основе параметров поиска), такой как 86f7e437faa5 , и сохраняю все соответствующие записи идентификаторы
- Перенаправить посетителя на страницу, похожую на mysite.com/search?token=86f7e437faa5
И на странице результатов мне нужно только выяснить, о каком поиске я говорю, и пролистать идентификаторы результатов (полученные из таблицы searches
).
Это сделает обновление и нумерацию страниц намного быстрее , так как мне не нужно запускать всю логику поиска при каждом просмотре страницы. И если пользователь меняет фильтр или критерии поиска, я возвращаюсь к шагу 2 и генерирую новый маркер поиска.
Я никогда не видел учебник или что-то подобное, но я думаю, что некоторые форумы, такие как BBForum или Invision, занимаются поиском, верно? После поиска я перенаправляюсь на что-то вроде search.php? Id = 1231 (я не вижу параметры поиска в URL или в аргументах POST).
Этот «токен» не будет длиться дольше 30 минут ~ 1 ч. Так что «статический поиск» только из соображений производительности.
Что вы думаете об этом? Это сработает? Есть соображения? :)