LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 07:16:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Поиск в SOBI2  (Прочитано 1072 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
inom
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Сообщений: 34


« : 23.04.2011, 16:11:33 »

Есть 1 неприятная проблема. У меня есть категория (в ней всего лишь 7000 записей), если начать искать в ней по нулевой фразе (вводим в поле поиска пробел или ничего) то начинается поиск всех записей! в этой категории. Это очень силно грузит сервер... локальный вообще висит =)

Хотелось бы как-то заблокировать совсем эту "фишку"...

Пробывал ковырять axsearch.class.php, но резултатов мало (делал проверки для переменной
Код:
$searchstring
).
Может кто сталкивался или подскажет как решить эту проблему?
Записан
Adeptus
Разработчик расширений для Joomla 1.0
*

Репутация: +217/-14
Offline Offline

Пол: Мужской
Сообщений: 2273



« Ответ #1 : 23.04.2011, 16:48:07 »

Проще всего на яваскрипт - повесьте в модуле поиска на событие onsubmit проверку "содержимого" в поле поиска, и если там пусто или пробелы - return false...
Записан
inom
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Сообщений: 34


« Ответ #2 : 23.04.2011, 16:55:17 »

да а у кого ява скрипт выключен, то тот положит сервер =)
Записан
Adeptus
Разработчик расширений для Joomla 1.0
*

Репутация: +217/-14
Offline Offline

Пол: Мужской
Сообщений: 2273



« Ответ #3 : 23.04.2011, 16:56:43 »

да а у кого ява скрипт выключен, то тот положит сервер =)

Чего-чего?

Это кто вам такую глупость сказал?
Записан
inom
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Сообщений: 34


« Ответ #4 : 23.04.2011, 16:59:07 »

У меня микро инстанс на амазоне (AWS), как только я начинаю искать пустую фразу в каталоге (с отключеным ява скриптом), то сервер начинает сильно лагать...
Записан
Adeptus
Разработчик расширений для Joomla 1.0
*

Репутация: +217/-14
Offline Offline

Пол: Мужской
Сообщений: 2273



« Ответ #5 : 23.04.2011, 17:02:52 »

У меня микро инстанс на амазоне (AWS), как только я начинаю искать пустую фразу в каталоге (с отключеным ява скриптом), то сервер начинает сильно лагать...

Уважаемый, открою вам тайну: яваскрипт выполняется на стороне клиента (проще говоря, у вас на компьютере), и к серверу никаким боком отношения не имеет.

"Лагать" начинает не сервер, а ваш броузер...  Grin
Записан
inom
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Сообщений: 34


« Ответ #6 : 23.04.2011, 17:10:17 »

Ага конечно:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1096 nobody    20   0  187m  31m 6052 S 99.9  5.3  11:34.52 mysqld
Записан
inom
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Сообщений: 34


« Ответ #7 : 23.04.2011, 17:13:15 »

Я в курсе про яваскрипт, как я писал выше из-за поиска всех записей в категории (в которой их много), mysql работает на пределе... Уж не знаю почему...
Записан
Adeptus
Разработчик расширений для Joomla 1.0
*

Репутация: +217/-14
Offline Offline

Пол: Мужской
Сообщений: 2273



« Ответ #8 : 23.04.2011, 17:14:06 »

Ну я с вами спорить не намерен.

Так дальше и думайте, что яваскрипт способен "положить" сервер...  laugh
Записан
inom
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Сообщений: 34


« Ответ #9 : 23.04.2011, 17:19:08 »

Да вы видимо неправильно меня поняли. Вы хотите чтобы я сделал проверку на клиенте. Она ничего не даст. Т.к. поиск можно производить как и без яваскрипта так и простым запросом. Проблема в другом. В SOBI2 не предусмотрено отключение отключение такой фичи как поиск всех записей в категории.

Если в категории записей мало, то все норм. Если много (как у меня) при выводе происходит нехилая нагрузка.
Записан
Adeptus
Разработчик расширений для Joomla 1.0
*

Репутация: +217/-14
Offline Offline

Пол: Мужской
Сообщений: 2273



« Ответ #10 : 23.04.2011, 17:24:16 »

Я все сказал. И делал подобное 1000 раз.

Удачи.
Записан
Lord Glue
Завсегдатай
*****

Репутация: +65/-0
Offline Offline

Пол: Мужской
Сообщений: 568


добрый пандо


« Ответ #11 : 24.04.2011, 11:58:19 »

оба правы.
1. Сделать проверку через js
2. Сделать проверку уже в axsearch.class.php - типа if (strlen($searchstring)<3) {return null;}
Записан
inom
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Сообщений: 34


« Ответ #12 : 24.04.2011, 16:53:58 »

Да я так и сделал...
В axsearch.class.php в самом начале после 28 строки ($searchString = $config->stringDecode( $searchString )Wink
Код:
if (trim( $searchString ) == trim( _SOBI2_SEARCH_INPUTBOX ) || strlen(trim( $searchString )) < 3 ) {
HTML_SOBI::axSearchResults($searchString);
return;
}
Еще есть проблемы если исп-ся модуль поиска SOBI2. Вроде придется добавить похожее и в функцию searchSobi в том-же axsearch.class.php.
Я доконца не разобрался =)
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet