На главную
RiSearch Pro v.3.2 Manual© С. ТарасовИспользование внешних парсеровВ коммерческой версии скрипта имеется возможность использовать внешние программы для открытия файлов. Это позволяет индексировать различные форматы файлов - PDF, DOC, PS, некоторые типы архивов. Необходимо перечислить расширения файлов, которые будут обрабатываться внешними парсерами, в конфиге в переменной $ext_parser_ext. Напримет так:
Затем для каждого расширения указывается какая программа будет использоваться для получения текста, содержащегося в файле. Для указания имени файла, который будет проиндексирован, используется строка "%file%".
Вы можете указать любые программы, кототые имеются в Вашем распоряжении, единственное необходимое условие - внешняя программа должна направить текст индексируемого файла на стандартный выход (STDOUT). Ниже приведены примеры для некоторых типов файлов. PDF (Portable Docement Format) - Существует несколько возможностей для получения текста из PDF файла. Можно воспользоваться пакетом xpdf (http://www.foolabs.com/xpdf/, (c) by Derek B. Noonburg). В нем присутствует утилита pdftotext, которая откомпилирована для различных платформ. Команда для запуска этой утилиты должна выглядеть так:
Вы можете также использовать утилиты, поставляемые вместе с GhostScript. DOC (MS Office Word) - для получения текста из doc файлов можно использовать утилиту antiword (http://antiword.cjb.net/, (c) 1998-2001 by Adri van Os).
Существуют и другие утилиты: catdoc (http://www.ice.ru/~vitus/catdoc/), word2x (http://word2x.alcom.co.uk/). Вы можете также индексировать некоторые типы архивов, но учтите, что ВСЕ содержимое архива будет считаться одним текстовым файлом, и если внутри архива содержатся другие бинарные файлы, это приведет к наличию мусора в индексе. Примеры для некоторых типов файлов приведены ниже:
Не забудьте поставить кавычки вокруг %file%, если необходимо индексировать файлы с пробелами в названии. Индексирование архивовВместо индексирования всего содержимого архива как одного текстового файла, Вы имеете возможность проиндексировать файлы, содержащиеся в архиве, по отдельности. Добавьте нужные расширения в переменную "arch_ext" в файле конфигурации и для каждого расширения укажите команду, которую нужно выполнить, чтобы распаковать архив. Несколько примеров приведено ниже:
Программа-распаковшик должна взять архив (%file%) и распаковать его
во временную диекторию (%temp_dir%). Затем скрипт просканирует эту директорию
и проиндексирует все файлы, соответствуюшие фильтру. В результатах поиска
эти файлы будут отображены следующим образом:
http://www.server.com/dir/archive.zip#file.htm.
Если в архиве содержится другой архив, он также будет распакован
и проиндексирован.
|
![]() |
|
http://risearch.org | С.Тарасов, © 2000-2003 |
![]() |