Сначала необходимо сконфигурировать mnoGoSearch. Конфигурирование indexer полностью описано в файле indexer.conf-dist. Вы найдете его в директории etc исходников mnoGoSearch. Вы также можете посмотреть примеры в директории doc/samples.
Для установки файла indexer.conf перейдите в директорию mnoGoSearch /etc, скопируйте indexer.conf-dist в indexer.conf и отредактируйте последний.
Для конфигурирования CGI-программы поиска (search.cgi и/или search.php3, или другой), Вы должны в директории mnoGoSearch /etc скопировать файл search.htm-dist в search.htm и отредактировать последний. См. Разд. Как создавать шаблоны результатов поиска в Гл. 8 для подробного описания.
Просто запускайте indexer раз в неделю (в день, в час, ...) для обновления информации о Ваших серверах и страницах. Вы можете также вставить запуск indexer в Ваш файл заданий crontab.
indexer с поддержкой встроенной базы данных не может переиндексировать, он индексирует всё заново при каждом старте.
По умолчанию, indexer, вызванный без всяких параметров командной строки, переиндекирует, только устаревшие документы. Вы можете задать период "старения" при помощи команды Period в indexer.conf. Если Вам необходимо переиндекировать все документы, независимо от того, устарели они или нет, используйте ключ -a. indexer при запуске пометит все документы как устаревшие.
Запрашивая документы, indexer посылает HTTP заголовок If-Modified-Since для документов уже находящихся в базе. Когда indexer получает очередной документ, он вычисляет контрольную сумму документа, если она совпадает со старой контрольной суммой, хранящейся в базе данных, докумен заново не разбирается (считается неизменённым) Ключ indexerа -m заставляет разбирать заново каждый документ, независимо от того, измён он или нет. Это может быть полезным, например, когда меняются правила Allow/Disallow в indexer.conf и необходимо добавить новые страницы, которые раньше были запрещены к обработке.
Если на запрос документа mnoGoSearch получает HTTP-статусы переадресации 301,302,303, он попытается проиндексировать URL, указанный в заголовке Location: ответа сервера.
Для создание SQL-таблиц, необходимых для работы mnoGoSearch, используйте indexer -Ecreate. При запуске с таким аргументом, indexer ищет файл, содержащий SQL-выражения, необходимые для создания всех таблиц, учитывая тип базы данных и режим хранения, указанные в команде DBAddr в indexer.conf. Поиск файлов производится в каталоге /share инсталляции mnoGoSearch, т.е. обычно в /usr/local/mnogosearch/share/mnogosearch/.
Для удаления SQL-таблиц, созданных mnoGoSearch, используйте indexer -Edrop. Поиск файл с запросами для удаления таблиц производится в каталоге /share инсталляции mnoGoSearch.
indexer имеет ключи -t, -g, -u, -s, -y для ограничения работы только с чатью базы ссылок. -t соответсвует ограничению по тэгу, -g соответсвует ограничению по категории, -u - ограничение по части URL (поддерживаются шаблоны SQL LIKE с символами % и _), -s - ограничение по HTTP статусу документа, -y - ограничения по Content-Type. Все ограничения для одного и того же ключа объединяются опрератором ИЛИ, а группы разных ключей - оператором И. mnoGoSearch с поддержкой встроеной (built-in) базы данных не поддерживает управление подсекциями.
Чтобы очистить всю базу данных, используйте команду 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') документов вместе с адресами страницами, содержащими ссылки на эти документы. Таким образом Вы можете использовать mnoGoSearch для проверки ссылок на Вашем сайте.
Пользователи MySQL и PostgreSQL могут запускать несколько indexer одновременно с одним и тем же файлом конфигурации indexer.conf. Мы успешно опробовали 30 одновременно работающих indexer использующих базу данных MySQL. Indexer использует механизм блокировки MySQL и PostgreSQL для избежания двойного индексирования одних и тех же документов разными одновременно работающими indexer. Параллельное индексирование может работать некорректно с остальными поддерживаемыми SQL серверами. Вы можете использовать многопоточную версию indexer c любым SQL сервером, поддерживающим параллельные соединения с базой. Многопоточная версия использует свой собственный механизм блокировки.
Не рекомендуется использовать одну и ту же базу с различными файлами конфигурации indexer.conf! Один процесс может добавлять некоторые документы в базу, в то время как другой - удалять эти же документы, и оба могут работать без остановки.
С другой стороны, Вы можете запускать несколько indexer c различными файлами конфигурации и различными базами для любого поддерживаемого SQL сервера.