|
|
| ENG/RUS Главная :: RiSearch :: RiSearch Pro :: RiSearch PHP :: RiLax :: RuMor :: Forum |
|
|
|
|
| Введение :: Документация :: Купить :: License :: Системные требования |
|
|
На главную
RiSearch Pro v.3.2 Manual© С. ТарасовИндексированиеRiSearch Pro является индексирующим поисковым скриптом. То есть, перед началом работы он считывает с сервера все файлы и сохраняет информацию о всех найденных словах в определенном формате, для ускорения поиска. При этом он имеет возможность одновременно работать с двумя индексами. Один индекс (статический) создается при первоначальном индексировании сайта. Этот индекс имеет компактную структуру, позволяющую достаточно легко работать с десятками тысяч документов. Недостатком данного индекса является то, что обновление этого индекса чрезвычайно дорогая операция. Поэтому при добавлении нового документа создается второй индекс (динамический или инкрементальный), который имеет блочную структуру и позволяет индексировать новые документы в реальном времени. Но динамический индекс также имеет свои недостатки: больший размер индекса и более медленный поиск. Периодически (после добавления нескольких сотен или тысяч документов) оба индекса сливаются, после чего создается новый динамический индекс. Благодаря такой структуре тяжелые операции вроде полной переиндексации или сливания индексов возможно проводить всего лишь несколько раз в год. Для начала индексации необходимо запустить скрипт "index.pl". Делать это можно или через UnixShell (если провайдер предоставляет Вам такую возможность), запустив его через панель администратора или напрямую через болузер (скрипт запросит пароль, создть который нужно в панели администратора). Во время индексации скрипт создаст файлы базы данных с информацией о Вашем сайте (0_hash, 0_wordind и другие) и сохранит их в директории "db_N", где "N" - некое число. Еще одним методом индексации является использование HTTP протокола. Запустите скрипт "spider.pl" и он начнет загружать страницы с Вашего сервера, попутно вытаскивая из них все ссылки, пока не проиндексирует весь сайт (скрипту "spider.pl" для работы необходим модуль LWP). Это особенно полезно при индексации динамических сайтов.
При запросе страницы с сервера паук идентифициурет себя как
"RiSpider/1.0". Если вам нужно изменить имя агента,
можно сделать это в коде библиотеки "lib/common_lib.pm"
в строке:
При вызове скриптов им можно передать некоторые параметры.
Например:
Индексирование может потребовать значительное количество системных ресурсов. Объем оперативной памяти, необходимой скрипту, зависит от параметра "temp_db_size" и размера индексируемых файлов. И хотя в новой версии значительно снижены требования к объему памяти, скрипт может запросить 100-200 Мб, если размеры файлов превышают 1-2 Мб. Если сайт объемом в 10-20 мегабайт будет проиндексирован без особых проблем, индексация сайта размером в 100 и более мегабайт может чрезмерно загрузить любой сервер. В такой ситуации лучше проводить индексацию на локальной копии сайта. Затем Вы можете просто скопировать созданные при индексации файлы на сервер (пожалуйста используйте при копировании бинарный режим). Пожалуйста учтите еще одно обстоятельство: большинство вебсерверов не позволяют CGI скриптам работать более 30-60 секунд. Если за это время скрипт не закончит свою работу, сервер его просто убьет. Поэтому сайты объемом более нескольких мегабайт необходимо индексировать запуская скрипт через UnixShell, используя инкрементальное индексирование, либо индексируя на локальной машине. Инкрементальное индексированиеОба скрипта (index.pl и spider.pl) можно остановить и затем продолжить индексацию. Нажмите "Ctrl-C" и скрипт сохранит текущее состояние на диске. Для продолжения запустите скрипт с параметром "-action=restart". Скрипт можно останавливать несколько раз, что может понадобиться при индексации очень больших сайтов. Дело в том, что при продолжительной работе индексирующего скрипта объем потребляемой им памяти постепенно растет. Если скрипт займет всю доступную память, остановите его и перезапустите.
Как было отмечено выше, большинство вебсерверов не разрешают скриптам
работать долго, что не позволяет индексировать большие сайты через
броузер. Теперь эта проблема имеет решение. Установите в конфигурационном файле
два дополнительных параметра:
Дополнительные индексы
Помимо основного индекса скрипт использует вспомогательные индексы
для специальных типов поиска. На данный момент доступен поиск
подстрок и нечеткий поиск. Создать дополнительный индекс для поиска по подстроке
можно используя команду:
Кроме этого, индекс для подстрок может создаваться автоматически при каждой переиндексации сайта, для чего нужно устновить параметр "create_substring_index" в конфигурационном файле. Учтите, что индекс содается только при полной переиндексации сайта, если же вы добавили в индекс новые страницы, то индекс подстрок нужно создать вручную, как было описано выше.
Дополнительный индекс подстрок также можно создать через броузер:
|
| http://risearch.org | С.Тарасов, © 2000-2003 |