Мод для поиска
-
- phpBB 1.4.2
- Сообщения: 52
- Стаж: 19 лет 8 месяцев
Мод для поиска
Подскажите, существует ли мод (набор модов), который может позволить сделать следующее:
1. Когда пользователь заходит на страницу поиска, он в обязательном порядке должен указать в каком именно форуме он будет искать. Насколько я понимаю, это в некоторой степени уменьшит нагрузку на сервер.
2. На странице поиска выводится топ запросов (последние запросы, как вариант).
1. Когда пользователь заходит на страницу поиска, он в обязательном порядке должен указать в каком именно форуме он будет искать. Насколько я понимаю, это в некоторой степени уменьшит нагрузку на сервер.
2. На странице поиска выводится топ запросов (последние запросы, как вариант).
FTN Technologies Support - FidoNet Software
-
- Неадекватен
- Сообщения: 603
- Стаж: 20 лет 4 месяца
- Откуда: tln.ee
-
- phpBB 2.0.5
- Сообщения: 490
- Стаж: 20 лет 5 месяцев
- Откуда: Санкт-Петербург
Реализовано в стандартном наборе.pehota писал(а):1. Когда пользователь заходит на страницу поиска, он в обязательном порядке должен указать в каком именно форуме он будет искать. Насколько я понимаю, это в некоторой степени уменьшит нагрузку на сервер.
Интересная штуковина, но мод такой не встречал.pehota писал(а):2. На странице поиска выводится топ запросов (последние запросы, как вариант).
-
- phpBB 1.4.2
- Сообщения: 52
- Стаж: 19 лет 8 месяцев
Упс... А где? Нигде подобных настроек не встречал.Реализовано в стандартном наборе.
FTN Technologies Support - FidoNet Software
-
- phpBB 2.0.5
- Сообщения: 490
- Стаж: 20 лет 5 месяцев
- Откуда: Санкт-Петербург
-
- phpBB 1.4.2
- Сообщения: 52
- Стаж: 19 лет 8 месяцев
severnet, да я же не это имею в виду
Я хочу запретить юзерам поиск по всем форумам. Хочу, чтобы они в обязательном порядке выбирали тот или иной форум.

Я хочу запретить юзерам поиск по всем форумам. Хочу, чтобы они в обязательном порядке выбирали тот или иной форум.
FTN Technologies Support - FidoNet Software
-
- phpBB 1.4.2
- Сообщения: 52
- Стаж: 19 лет 8 месяцев
Судя по всему мода такого не существует. Вопрос к местным гуру:
Снизится ли нагрузка на сервер (в момент совершения поиска), если будет введен принудительный выбор определенного раздела форума?
Снизится ли нагрузка на сервер (в момент совершения поиска), если будет введен принудительный выбор определенного раздела форума?
FTN Technologies Support - FidoNet Software
-
- phpBB 2.0.5
- Сообщения: 477
- Стаж: 21 год
Думаю, что не на много.pehota писал(а):Судя по всему мода такого не существует. Вопрос к местным гуру:
Снизится ли нагрузка на сервер (в момент совершения поиска), если будет введен принудительный выбор определенного раздела форума?
Если хочешь снизить нагрузку при поиске, нужно подыскивать более существенный вариант, исходя из многих факторов.
Тема эта, весьма болезнена для больших и посещаемых форумов.
Есть кое какие наработки, которые слишком долго расписывать.
Это нужно целую статью катать, так как нужно делать целый комплекс модификаций ...
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
-
- phpBB 1.4.4
- Сообщения: 199
- Стаж: 20 лет 3 месяца
- Откуда: Kiev.UA
возможно ошибаюсь, но модификации нужно подвергнуть только спосб отображения списка форумов в форме поиска - вместо списка использовать чекбоксы или радио кнопочкиJovani писал(а):нужно делать целый комплекс модификаций
проверку "отмечен/не отмечен" осуществлять JS
и еще одно ИМХО
тут могу ошибаться, т.к. с механизмом работы sql сервера знаком плохо, но на основе наблюдений за обработкой запросов различной степени сложности, сделал вывод, что нагрузку на sql сервер данное ограничение не снизит, скорее увеличит, за счет проверки доп. условий
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
Застолблю идею. Мне подобный мод интересенpehota писал(а):2. На странице поиска выводится топ запросов (последние запросы, как вариант).

Вроде подобного не встречал.
Добавлено спустя 2 часа 16 минут 35 секунд:
Last search queries info
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
-
- phpBB 2.0.5
- Сообщения: 477
- Стаж: 21 год
По поводу статьи, так это скорее всего, не получится.Xpert писал(а):Jovani
Ждемс
Могу сказать только, основное.
На больших форумах (где большая база и частые посты), тормоза происходят в ситуациях, когда идут многочисленные одновременные посты и поиски.
В момент поста, блокируются "поисковые" таблицы и перестраивается индекс.
И если в таблице много записей, то перестройка индекса занимает солидно времени и ресурсов.
Поисковые запросы, в это время, стоят в очереди, тормозя тем самым все остальные запросы.
Один из способов облегчения ситуции - не создавать индекс во время поста.
То есть, не вносить данные в поисковые таблицы сразу, а делать это во время, когда сервер не загружен, и немного другим алгоритмом.
Я сделал через cron
У меня, теперь, при постинге, редактировании, удаления сообщения, вместо изменения поисковых таблиц, просто добавляется в дополнительно созданные таблицы, записи, какие сообщения нужно обработать.
Специальный скрипт, запускаемый из crona во время наменьшей посещаемости, проверяет загрузку проца, и потихоньку обрабатывает "поисковые" таблицы.
Такой способ, существенно облегчил проблему поиска в часы пик.
Другие способы менее эффективны, но тем не менее, в комплексе, также облегчают нагрузку.
Возможно позже, если будет время, я их кратко опишу.
Добавлено спустя 6 часов 14 минут 31 секунду:
Пока есть время, хочу уберечь от одной ошибки, на которую я напоролся.
А именно ...
По идее, чем меньше таблица, тем легче MySQL будет вытаскивать из нее данные.
Следовательно, задача - уменьшить поисковые таблицы (search_wordlist и search_wordmatch).
Как уменьшить? Внесением стоп-слов.
То есть, по идее, чем больше введено стоп-слов, тем меньше таблица, и как следствие, меньше нагрузка.
Вот тут я ошибся

Увы, не все так просто ....
По поводу "меньше таблица - меньше нагрузка", это так.
Но вот решение ввести большое количество стоп-слов, не совсем ...
Дело в том, что при каждом посте, этот список, достаточно тяжело обрабатывается как массив в functions_search.php.
И чем он больше, тем больше нагрука PHP

В часы пик, у меня, переодичность новых постов, может достигать 1 пост в секунду.
Результат большого количества стоп-слов очевиден - "тормоза".
Выход из положения сделал такой-же, как в предыдущем сообщении.
Стоп-слова удаляются ежедневно через cron, небольшими дозами, предварительно замеряя загрузку процессора, и исходя из этого выполняют те, или иные действия.
То есть, другими словами - равномерное распределение нагрузки.
Спросите, к чему такие сложности?
Отвечу, что другого решения "выжить" большому форуму на shаred-хостинге, я не нашел.
Может есть и лучшие решения, но я их не нашел.
Если кто может сказать что либо определенное по данному вопросу, с удовольствием послушаю.
-
- phpBB 1.4.2
- Сообщения: 52
- Стаж: 19 лет 8 месяцев
Xpert,
Сегодня зашел на форум где поставил мод, почему-то не показывает ниодного проса: "Last queries: No queries". С чем может быть связано?
P.S. Моды новые не ставил, в БД не копался.
Сегодня зашел на форум где поставил мод, почему-то не показывает ниодного проса: "Last queries: No queries". С чем может быть связано?
P.S. Моды новые не ставил, в БД не копался.
FTN Technologies Support - FidoNet Software