ExBB Community » Файловый ExBB » Модификации и дополнения » Дополнение: Автоматическая индексация поиска

Страниц (8): [1] 2 3 4 5 6 7 8 »
 

1. yura3d - 16 февраля 2009 — 21:00 - перейти к сообщению
Думаю многие пользователи сталкивались с необходимостью постоянно индексировать поиск по форуму через админку. Именно с целью автоматизировать этот процесс написал небольшой скрипт, который может запускаться через Cron (планировщик задач на Вашем сервере) и выполнять работу по индексации через определённый промежуток времени (который Вы выбираете сами) автоматически.

Скрипт нужно закачать в папку с форумом и переименовать (с целью запрета обычным пользователям его запускать), сохранив при этом расширение php. Для настройки запуска скрипта через Cron обратитесь к справке Вашего хостинга. В большинстве случаев Вам потребуется указать полные пути к интерпретатору PHP и этому скрипту на сервере, а также дать команду на выполнение скрипта через интерпретатор. На моём сервере эта команда для Cron выглядит так:
CODE:
/usr/bin/php -q /home2/yura3d/public_html/community/cron.php

Для Вашего сервера, разумеется, могут быть отличия.

С целью снижения нагрузки на сервер индексация происходит постепенно, за каждый запуск скрипта индексации подвергается только один раздел, разделы индексируются по очереди. Чтобы не допускать излишней нагрузки на сервер рекомендую назначить выполнение данного скрипта не чаще одного раза за 10 - 30 минут (для форумов с более чем 10 000 сообщений лучше увеличить время до 1 - 2 часов).

Если при запуске скрипта через Cron на Ваш e-mail приходят уведомления о невозможности найти файл со списком разделов форума, то проделайте следующее. Создайте в корневой папке форума файл path.php следующего содержания:
CODE:
<?=str_replace('\\', '/', getcwd()).'/'?>

Затем запустите этот файл, набрав его адрес URL. В браузере отобразится полный путь к папке форума относительно корня сервера. Скопируйте этот путь в скрипт индексации cron.php в строку:
CODE:
define('PATH', '/path/to/forum/');

В этой строке вместо /path/to/forum/ должна быть указана та строка, которая появляется после запуска path.php (скопируйте её без изменений). После этого можете удалить скрипт path.php.

Вроде бы всё сказал, этот скрипт уже работает на данном форуме, так что поиск у нас теперь своевременно индексируется без моего участия. Как обычно, все вопросы, замечания, баги в эту тему.
2. lisiycat - 23 февраля 2009 — 16:18 - перейти к сообщению
yura3d, сделал все как и написано - прописал полный путь (узнал у хостера), установил выполнять каждый час.
Заметил, что не индексируется форум.
Сегодня поставил отметку в ISP Manager хостера "Отправлять отчет по е-мейл".
Только что пришло письмо с таким содержанием:

CODE:
Could not write in the file <b>search/last.php</b>
3. yura3d - 23 февраля 2009 — 16:25 - перейти к сообщению
lisiycat пишет:
yura3d, сделал все как и написано - прописал полный путь (узнал у хостера), установил выполнять каждый час.
Заметил, что не индексируется форум.
Сегодня поставил отметку в ISP Manager хостера "Отправлять отчет по е-мейл".
Только что пришло письмо с таким содержанием:

CODE:
Could not write in the file <b>search/last.php</b>

Забыл дописать к инструкции, что на папку search необходимо поставить права на запись
4. lisiycat - 23 февраля 2009 — 18:26 - перейти к сообщению
yura3d пишет:
Забыл дописать к инструкции, что на папку search необходимо поставить права на запись


Поставил - результат тот же.

Обратил внимание, что в папке search/ отсутствует файл last.php
5. yura3d - 23 февраля 2009 — 18:37 - перейти к сообщению
lisiycat пишет:
yura3d пишет:
Забыл дописать к инструкции, что на папку search необходимо поставить права на запись


Поставил - результат тот же.

Обратил внимание, что в папке search/ отсутствует файл last.php

Попробуйте запустить скрипт индексации через браузер. И обращайте внимание на даты файлов в папке search/db, несколько из этих файлов (относящиеся к одному разделу) должны изменять дату
6. lisiycat - 23 февраля 2009 — 19:08 - перейти к сообщению
yura3d пишет:
Попробуйте запустить скрипт индексации через браузер. И обращайте внимание на даты файлов в папке search/db, несколько из этих файлов (относящиеся к одному разделу) должны изменять дату


Запустил через браузер - ничего не произошло.
В 21.00 (по Киеву) опять письмо с той же ошибкой.
Некоторые файлы в папке search/db, действительно изменяют свою дату:
46_finfо, 46_hash, 46_hashwords, 46_sitewords, 46_word_ind
7. yura3d - 23 февраля 2009 — 19:15 - перейти к сообщению
lisiycat пишет:
Некоторые файлы в папке search/db, действительно изменяют свою дату:
46_finfо, 46_hash, 46_hashwords, 46_sitewords, 46_word_ind

Это свидетельствует о том, что раздел с id=46 проиндексировался

lisiycat пишет:
Запустил через браузер - ничего не произошло.
В 21.00 (по Киеву) опять письмо с той же ошибкой.

Скиньте в личку ссылку на этот файл и ещё желательно данные для доступа через FTP, как будет свободное время, посмотрю что там не так. Очень странно
8. yura3d - 17 апреля 2009 — 20:26 - перейти к сообщению
Уважаемые пользователи, кто использует это дополнение для автоматической индексации поиска, отпишитесь пожалуйста, возникали ли у Вас проблемы с нагрузкой сервера при использовании данного скрипта (имеются в виду случаи, когда хостер отключает доступ к сайту по этой причине) ?
9. Defenderyk - 17 апреля 2009 — 21:02 - перейти к сообщению
а может сделать скрипт для ручной индексации. т.е например в какое то время суток запускаешь сам и он ее проводит с паузами между индексациями тем и разделов. это удобнее, чем самому тыкать в каждый раздел.
10. yura3d - 17 апреля 2009 — 21:07 - перейти к сообщению
Defenderyk пишет:
а может сделать скрипт для ручной индексации. т.е например в какое то время суток запускаешь сам и он ее проводит с паузами между индексациями тем и разделов. это удобнее, чем самому тыкать в каждый раздел.

Так ведь с этой целью и создавалось данное дополнение. Тут тебе и автоматический запуск, и возможность настройки интервала между индексациями. Интересует только вопрос нагрузки
11. Defenderyk - 17 апреля 2009 — 21:23 - перейти к сообщению
а ручная есть? крона нет на серваке вроде)
12. mastersound - 18 апреля 2009 — 10:10 - перейти к сообщению
настроил все со службой поддержки сервака. Скрипт вмдимо сработал, пришло уведомление
CODE:
Could not write in the file <b>search/last.php</b>

что это значит? откуда взялось указание на last.php ? Такого файла нет...
13. yura3d - 18 апреля 2009 — 10:14 - перейти к сообщению
mastersound пишет:
настроил все со службой поддержки сервака. Скрипт вмдимо сработал, пришло уведомление
CODE:
Could not write in the file <b>search/last.php</b>

что это значит? откуда взялось указание на last.php ? Такого файла нет...

Всё верно, только нужно выставить на папку search права на запись
14. mastersound - 18 апреля 2009 — 10:17 - перейти к сообщению
права стоят 750, т.е.
CODE:
владелец: читать = писать = запускать
группа: читать = -------- = запускать
все: ----- = -------- = -----------

вот такие.....

а файл last.php надо самому создать в этой папке?
15. yura3d - 18 апреля 2009 — 10:21 - перейти к сообщению
mastersound пишет:
права стоят 750, т.е.

Да численное значение не важно, тут многое от настроек сервера зависит. На папку search должны стоять такие же права, как на папки data, members и т д.

mastersound пишет:
а файл last.php надо самому создать в этой папке?

Скрипт должен создать автоматически, если будут проблемы с правами, можно попытаться создать самому

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0224]     [ ]