Сначала необходимо сконфигурировать DataparkSearch. Конфигурирование indexer полностью описано в файле indexer.conf-dist. Вы найдете его в директории etc исходников DataparkSearch. Вы также можете посмотреть примеры в директории doc/samples.
Для установки файла indexer.conf перейдите в директорию DataparkSearch /etc, скопируйте indexer.conf-dist в indexer.conf и отредактируйте последний.
Для конфигурирования CGI-программы поиска (search.cgi и/или search.php3, или другой), Вы должны в директории DataparkSearch /etc скопировать файл search.htm-dist в search.htm и отредактировать последний. См. Разд. 8.3> для подробного описания.
Просто запускайте indexer раз в неделю (в день, в час, ...) для обновления информации о Ваших серверах и страницах. Вы можете также вставить запуск indexer в Ваш файл заданий crontab.
По умолчанию, indexer, вызванный без всяких параметров командной строки,
переиндекирует, только устаревшие документы. Вы можете задать период "старения" при помощи команды Period
в indexer.conf. Если Вам необходимо переиндекировать все документы, независимо от того, устарели
они или нет, используйте ключ -a
. indexer при запуске пометит все документы как
устаревшие.
Запрашивая документы, indexer посылает HTTP заголовок
If-Modified-Since для документов уже находящихся в базе.
Когда indexer получает очередной документ, он вычисляет контрольную сумму документа,
если она совпадает со старой контрольной суммой, хранящейся в базе данных, докумен заново не разбирается (считается неизменённым)
Ключ indexerа -m
заставляет разбирать заново каждый документ, независимо от того, измён он или нет.
Это может быть полезным, например, когда меняются правила Allow/Disallow в
indexer.conf и необходимо добавить новые страницы, которые раньше были запрещены
к обработке.
Если на запрос документа DataparkSearch получает HTTP-статусы переадресации 301,302,303, он попытается проиндексировать URL, указанный в заголовке Location: ответа сервера.
Для создание SQL-таблиц, необходимых для работы DataparkSearch, используйте indexer -Ecreate. При запуске с таким аргументом, indexer ищет файл, содержащий SQL-выражения, необходимые для создания всех таблиц, учитывая тип базы данных и режим хранения, указанные в команде DBAddr в indexer.conf. Поиск файлов производится в каталоге /share инсталляции DataparkSearch, т.е. обычно в /usr/local/dpsearch/share/.
Для удаления SQL-таблиц, созданных DataparkSearch, используйте indexer -Edrop. Поиск файл с запросами для удаления таблиц производится в каталоге /share инсталляции DataparkSearch.
indexer имеет ключи -t, -g, -u, -s, -y
для ограничения работы только с чатью базы ссылок.
-t
соответсвует ограничению по тэгу,
-g
соответсвует ограничению по категории,
-u
- ограничение по части URL (поддерживаются шаблоны SQL LIKE с символами % и _),
-s
- ограничение по HTTP статусу документа,
-y
- ограничения по Content-Type.
Все ограничения для одного и того же ключа объединяются опрератором ИЛИ, а группы разных ключей - оператором И.
Чтобы очистить всю базу данных, используйте команду indexer
-C. Вы можете также удалить тольеко часть базы, используя ключи указания подсекций
-t,-g,-u,-s,-y
.
Если Вы запустите indexer -S, Вы получите статистику базы данных включающую общее число документов, и число устаревших документов для каждого статуса. Ключи указания подсекций также действуют для этой команды.
Значения кода статуса:
0 - новый (еще ни разу не индексированный) документ
Если статус не 0, он равен коду HTTP ответа, некоторые коды ответов HTTP:
200 - "OK" (url успешно проиндексирован)
301 - "Moved Permanently" (переадресован на другой URL)
302 - "Moved Temporarily" (переадресован на другой URL)
303 - "See Other" (переадресован на другой URL)
304 - "Not modified" (url не модифицирован со времени предыдущего индексирования)
401 - "Authorization required" (нужен login/password для этого документа)
403 - "Forbidden" (нет доступа к этому документу)
404 - "Not found" (указаный документ не существует)
500 - "Internal Server Error" (ошибка в cgi, и т.д.)
503 - "Service Unavailable" (Хост недоступен, таймайт соединения)
504 - "Gateway Timeout" (таймаут при получении документа)
Код ответа HTTP 401 обозначает, что документ защищён паролем. Вы можете использовать команду AuthBasic в indexer.conf для указания login:password для URL.
Код ответа HTTP 404 означает, что на одной из Ваших страниц есть ссылка на несуществующий документ, или есть ошибка в указании URL..
Смотрите документацию по HTTP для подробного объяснения различных кодов ответа HTTP.
Будучи запущенным с ключом -I
,
indexer показывает пары URL и страница, ссылающаяся на него.
Это полезно для поиска битых ссылок на Ваших страницах.
Вы также можете использовать ключи ограничений подсекций для этого режима.
Например, indexer -I -s 404 покажет адреса всех ненайденных ('Not found') документов
вместе с адресами страницами, содержащими ссылки на эти документы.
Таким образом Вы можете использовать DataparkSearch для проверки ссылок на Вашем сайте.
Возможно запускать одновременно несколько indexer с одним и тем же файлом конфигурации indexer.conf. Мы успешно опробовали 30 одновременно работающих indexer использующих базу данных MySQL. По умолчанию, indexer помечает документы, выбранные к индексированию, как устаревающие через 4 часа в будущем для избежания двойного индексирования одних и тех же документов разными одновременно работающими indexer. Однако это не дает 100% гарантии избежания повторного индексирования. Вы можете использовать многопоточную версию indexer c любым SQL сервером, поддерживающим параллельные соединения с базой. Многопоточная версия использует свой собственный механизм блокировки.
Не рекомендуется использовать одну и ту же базу с различными файлами конфигурации indexer.conf! Один процесс может добавлять некоторые документы в базу, в то время как другой - удалять эти же документы, и оба могут работать без остановки.
С другой стороны, Вы можете запускать несколько indexer c различными файлами конфигурации и различными базами для любого поддерживаемого SQL сервера.