Хорошая машина для запуска обычного сервера Harvest
должна иметь достаточно быстрый процессор, 1-2 GB
свободного дискового пространства и 128 MB RAM.
Медленный процессор будет работать, но будет сильно
тормозить сервер Harvest. Однако, размер памяти важнее
чем скорость процессора. Harvest использует много процессов,
некоторые из которых предоставляют необходимую ``связь''
(т.е., например, search.cgi
связывает пользователя
с брокером), а некоторые улучшают производительность
(например, процесс glimpseserver
).
Если у вас недостаточно памяти, ваша система будет
слишком много записываться на диск и значительно уменьшит
производительность. Другой фактор, влияющий на использование RAM,
заключается в том, сколько вы пытаетесь проиндексировать
брокером Harvest. Чем больше данных, тем больше будет
выполняться операций ввода/вывода за время запроса, и тем больше
памяти будет занято, чтобы предоставить дисковый буфер разумного размера.
Количество места на диске, которое вам понадобится зависит от того, сколько данных вы хотите проиндексировать одним брокером. (Можно распределить ваш индекс на несколько брокеров, если одного диска становится недостаточно.) Опыт показывает, что вам понадобится места на диске около 10% от общего размера данных, подлежащих индексированию, для содержания Gatherer'а и Broker'а. Реальные размеры будут зависеть от типа данных, которые вы индексируете. Например, PostScript достигает значительно большего уменьшения индексного пространства, чем HTML, потому что очень много информации в PostScript (такой как информация о расстановке страниц) отбрасывается при построении индекса.
Для того, чтобы запустить сервер Harvest, вам нужна UNIX-подобная операционная система.
Для использования Harvest вам необходимы следующие программные пакеты:
gzip
v1.2.4 или выше.Для того, чтобы собрать Harvest из дистрибутива с исходниками, вам может понадобиться установить один или больше из следующих программных пакетов:
gcc
v2.5.8 или выше.flex
v2.4.7
или выше и bison
v1.22 или выше.Исходники gcc
, gzip
, flex
и bison
можно взять на
GNU FTP сервере.
Любой, у кого есть веб-броузер (например, Internet Explorer, Lynx, Mozilla, Netscape, Opera и др.), может использовать сервера Harvest.
Сейчас мы предлагаем только один дистрибутив с исходниками Harvest. Дистрибутив с исходниками содержит весь исходный код для ПО Harvest. Нет бинарных дистрибутивов Harvest'а.
Вы можете получить дистрибутивы с исходниками Harvest на странице загрузки Harvest prdownloads.sourceforge.net/harvest/.
Компоненты Harvest находятся в каталоге components. Чтобы использовать компонент, следуйте инструкциям, находящимся в каталоге соответствующего компонента.
Существует коллекция неподдерживаемого ПО, созданного пользователями в каталоге contrib. Если вы хотите внести свой вклад и предоставить ваше ПО, отправьте, пожалуйста, письмо на lee@arco.de.
Дистрибутив с исходниками можно извлечь в любой каталог. Следующая команда извлечет архив gnu-zip с исходниками:
% gzip -dc harvest-x.y.z.tar.gz | tar xf -
Для архивов, сжатых при помощи bzip2, используйте:
% bzip2 -dc harvest-x.y.z.tar.bz2 | tar xf -
Harvest использует пакеты GNU autoconf
для предоставления необходимой конфигурации в процессе установки.
Если вы хотите заменить место установки по умолчанию
/usr/local/harvest, измените переменную ``prefix'' при запуске ``configure''.
При желании можете отредактировать
src/common/include/config.h перед компиляцией,
чтобы изменить различные переменные и ограничения времени
компиляции Harvest'а. Чтобы скомпилировать дерево исходников,
наберите make
.
Например, чтобы построить и установить полную систему Harvest в каталог /usr/local/harvest , наберите:
% ./configure
% make
% make install
Вы можете увидеть несколько предупреждающих сообщений компилятора, которые можно проигнорировать.
Построение полного дистрибутива Harvest займет несколько минут на достаточно быстрой машине. Скомпилированное дерево исходников занимает примерно 25 мегабайт дискового пространства.
Потом, после того, как заработает установленное ПО,
вы можете удалить скомпилированный код (файлы ".o")
и прочие промежуточные файлы, набрав make clean
.
Если вы хотите удалить файлы, созданные configure (Makefiles),
наберите make distclean
.
Broker взаимодействует с вашим сервером HTTP различными способами. Следует убедиться, что сервер HTTP имеет необходимый доступ к нужным ему файлам. Часто сервер HTTP запускается пользователем, не являющимся владельцем файлов Harvest.
Во-первых, убедитесь, что userid сервера HTTP может прочитать файлы
query.html в каталогах каждого брокера.
Во-вторых, убедитесь, что userid сервера HTTP имеет доступ
и может запустить программы CGI в $HARVEST_HOME/cgi-bin/.
Скрипт search.cgi
читает файлы из каталога
$HARVEST_HOME/cgi-bin/lib/, так что проверьте его тоже.
Наконец, проверьте файлы в $HARVEST_HOME/lib/.
Некторые скрипты Perl CGI требуют файлы ``include'' в этом каталоге.
The Broker interacts with your HTTP server in a number of ways. You should make sure that the HTTP server can properly access the files it needs. In many cases, the HTTP server will run under a different userid than the owner of the Harvest files.
Harvest Broker требует, чтобы был запущен сервер HTTP, и чтобы сервер HTTP ``знал'' о файлах Broker'а. Ниже приведено несколько примеров того, как настроить различные сервера HTTP для работы с Harvest Broker.
Требует ScriptAlias и Alias записи в httpd.conf, например:
ScriptAlias /Harvest/cgi-bin/ Your-HARVEST_HOME/cgi-bin/
Alias /Harvest/ Your-HARVEST_HOME/
ВНИМАНИЕ: Запись ScriptAlias должна появиться перед записью Alias.
Дополнительно может оказаться необходимым настроить Apache httpd, чтобы он следовал по символическим сылкам. Чтобы сделать это, добавьте следующее в ваш httpd.conf:
<Directory Your-HARVEST_HOME>
Options FollowSymLinks
</Directory>
Установите сервер HTTP и измените его конфигурационный файл так, чтобы каталог /Harvest указывал на $HARVEST_HOME. Вам также понадобится настроить ваш сервер HTTP так, чтобы он знал, что каталог /Harvest/cgi-bin содержит программы CGI. Если по умолчанию ваш сервер не следует по символическим ссылкам, вам нужно настроить его так, чтобы он следовал по символическим ссылкам в каталоге /Harvest.
Нельзя устанавливать версию 1.8 поверх версии 1.6. Например, изменения версии 1.8 по сравнению с 1.6 включают некоторую реорганизацию исполняемых файлов, и, следовательно, простая установка версии 1.8 поверх версии 1.6 приведет в некоторых случаях к использованию старых исполняемых файлов.
Для перехода Harvest'а с версии 1.6 до 1.8:
необходимо переместить каталог Gatherer'а в $HARVEST_HOME/gatherers. Раздел Описание RootNode показывает специфику загрузки Gatherer'а, если вы хотите внести изменения в конфигурационный файл вашего Gatherer'а.
переделайте ваш Broker, используя CreateBroker
,
и сделайте все настройки, которые были у вашего старого Broker'а.
Нет никаких известных несовместимостей между версиями 1.5 и 1.6.
Нельзя устанавливать версию 1.5 поверх версии 1.4. Например, изменения версии 1.5 по сравнению с 1.4 включают некоторую реорганизацию исполняемых файлов, и, следовательно, простая установка версии 1.5 поверх версии 1.4 приведет в некоторых случаях к использованию старых исполняемых файлов.
Для перехода Harvest'а с версии 1.4 до 1.5:
необходимо переместить каталог Gatherer'а в $HARVEST_HOME/gatherers. Раздел Описание RootNode показывает специфику загрузки Gatherer'а, если вы хотите внести изменения в конфигурационный файл вашего Gatherer'а.
необходимо переместить каталог Broker'а в $HARVEST_HOME/brokers.
Удалите все файлы .glimpse_* из каталога вашего Broker'а
и используйте интерфейс admin.html для полного индексирования.
Возможно, вы захотите перестроить ваш Broker,
используя CreateBroker
, после чего вы
сможете использовать новый query.html
и связанные с ним файлы.
Нет никаких известных несовместимостей между версиями 1.3 и 1.4.
Версия 1.3 почти полностью обратно совместима с 1.2 со следующим исключением:
Harvest 1.3 использует 3.0. Файлы .glimpse_* в каталоге брокера, созданные при помощи Harvest 1.2 (Glimpse 2.0),
rm .glimpse_*
в каталогах каждого брокера.RunBroker
.
Есть несколько несовместимостей между версиями Harvest 1.1 и 1.2.
% set path = ($HARVEST_HOME/lib/gatherer $path)
% cd data
% rm -f INDEX.gdbm
% mkindex
Должны создаться файлы INDEX.gdbm и MD5.gdbm
в текущем каталоге.
Если у вас уже установлена более рання версия Harvest, и вы хотите ее обновить, то нельзя распаковывать новый дистрибутив поверх старого. Например, изменения версии 1.1 по сравнению с 1.0 включают некоторую реорганизацию исполняемых файлов, и, следовательно, простая установка версии 1.1 поверх версии 1.0 приведет в некоторых случаях к использованию старых исполняемых файлов.
С другой стороны, возможно вы не захотите устанавливать с нуля новую версию, так как вы уже собрали и проиндексировали большое число данных. Вместо этого, для перехода с версии Harvest 1.0 до 1.1 проделайте следующее:
необходимо переместить каталог Gatherer'а в $HARVEST_HOME/gatherers. Раздел Описание RootNode показывает специфику загрузки Gatherer'а, если вы хотите внести изменения в конфигурационный файл вашего Gatherer'а.
необходимо переместить каталог Broker'а в
$HARVEST_HOME/brokers.
Возможно, вы захотите перестроить ваш брокер,
используя CreateBroker
,
чтобы можно было использовать обновленный query.html
и связанные с ним файлы.
Простейший способ запуска системы Harvest - использовать команду
RunHarvest
. RunHarvest
предлагает пользователю
ответить на небольшой список вопросов о том, какие данные
индексировать и проч., и затем создает и запускает Gatherer
и Broker со стандартным (не настроенным) набором механизмов
извлечения содержимого и индексирования. Имеется несколько
более простых команд для запуска отдельных Gatherer'ов и Broker'ов
(например, если вы хотите распределить процесс собирания).
Команды запуска Harvest'а:
Проверяет, корректно ли установлено ПО Harvest, спрашивает у пользователя основную конфигурационную информацию и затем создает и запускает Gatherer и Broker. Если у вас установлена переменная $HARVEST_HOME, тогда команда использует ее; в противном случае она попытается определить $HARVEST_HOME автоматически. Находится в каталоге $HARVEST_HOME.
Запускает Broker. Находится в каталоге Broker'а.
Запускает Gatherer. Находится в каталоге Gatherer'а.
Создает отдельный Broker, который будет собирать
свою информацию от других существующих Broker'ов
или Gatherer'ов. Используется RunHarvest
,
или может быть запущена пользователем для создания
нового брокера. Использует $HARVEST_HOME
и по умолчанию /usr/local/harvest.
находится в каталоге $HARVEST_HOME/bin.
Не существует команды CreateGatherer
,
но команда RunHarvest
может создать Gatherer,
или вы можете создать Gatherer вручную (смотрите раздел
Настройка распознавания типов, выбора кандидатов, представление разбора и суммирование
или раздел
Примеры Gatherer'ов).
Расположение каталогов и программ установлнного Harvest'а
обсуждается в разделе
Программы и размещение установленного ПО Harvest.
Среди всего прочего, команда RunHarvest
спрашивает пользователя, какие порты использовать
для Gatherer'а и Broker'а. По умолчанию Gatherer
будет использовать 8500, а Broker -- порт Gatherer'а плюс 1.
Выбор порта зависит от конкретной машины -- вам нужно выбрать порты,
которые не используются другими серверами на вашей машине.
Вы можете посмотреть в своем файле /etc/services,
какие порты используются (хотя в этом файле показано только несколько серверов;
некоторые сервера используют порты, нигде не регистрируя этой информации).
Обычно указанные выше порты не используются другими процессами.
По-видимому, самый простой способ -- просто попытаться использовать порты,
предлагаемые по умолчанию, и посмотреть, все ли работает.
Остальная часть этого руководства предоставляет информацию
для пользователей, которые хотят подстроить Harvest или
сделать его использование более изощренным, чем при простом
запуске RunHarvest
.
Если у вас есть вопросы о системе Harvest или проблемы с ПО, оставьте сообщение новостной группе USENET comp.infosystems.harvest. Пожалуйста, укажите тип вашего компьютера, операционную систему и версию Harvest в вашем письме.
Если у вас есть исправления ошибок, порты к новым платформам или другие улучшения ПО, пожалуйста, отправьте email разработчику Harvest lee@arco.de.