Сегодня речь пойдет о том, как научить DataParkSearch Engine индексировать только определенные типы файлов. Это может оказаться полезным, если Вы хотите создать поисковую систему, например, для поиска только по текстовым документам (txt), или только по статичным страницам (htm), или даже (это каким извращенцем надо быть) для поиска только по файлам robots.txt...
Для разрешения/запрета индексации страниц, имеющих (или наоборот не имеющих) в своем URL'е определенный текст служат такие директивы настройки, как Allow и Disallow. Именно их мы и будем использовать.
Прежде, чем мы приступим к ковырянию конфигурационных файлов с целью добавления сабжевого функционала, хочу посоветовать создать в папке с конфигурационными файлами DataParkSearch Engine (/usr/local/dpsearch/etc/) файл allow.conf, и добавлять все настройки, касающиеся разрешения индексации определенных типов файлов в него. Этот файл можно будет подключить к скрипту добавлением директивы
Include allow.conf в конце файла indexer.conf. Сие мероприятие позволит нам в будущем не лазить в дебри конфигурационных файлов для изменения списка индексируемых типов файлов. Нам понадобится только подкорректировать файл allow.conf.
Allow
Эта директива используется для разрешения индексации URL'ов, в которых встречается (или наоборот не встречается) указанный текст.
Формат вызова директивы выглядит следующим образом:
Allow [Match|NoMatch] [NoCase|Case] [String|Regex] <arg> [<arg> ... ]
Первые три параметра необязательны, и указывают на тип сравнения URL'а с шаблоном. По умолчанию используются Match, NoCase, String (совпадает с шаблоном, не чувствительно к регистру, шаблон — строка).
Параметр Match/NoMatch указывает, разрешать URL'ы, подходящие под шаблон, или не подходящие.
Параметр Case/NoCase указывает, учитывать регистр букв, или нет.
Парамер Regex/String указывает на тип шаблона: регулярное выражение, или строка. Следует отметить, что строковые шаблоны работают быстрее регулярных выражений, поэтому желательно использовать именно их.
В одной дирректике Allow можно указывать несколько шаблонов.
Для нашей поисковой системы по текстовым файлам добавим в файл allow.conf следующую директиву:
Allow Match NoCase String *.txt
В данном случае параметры Match, NoCase, String можно и не указывать, потому что, какбыло сказано ранее, это параметры по умолчанию.
Теперь переходим к Disallow.
Disallow
Эта директива имеет обратную директиве Allow задачу, то есть оназапрещает индексировать URL'ы, подходящие (или наоборот не подходящие) под указанный шаблон.
Формат вызова директивы выглядит следующим образом:
Disallow [Match|NoMatch] [NoCase|Case] [String|Regex] <arg> [<arg> ... ]
Все параметры аналогичны параметрам директивы Allow, поэтому не буду на них останавливаться, а только приведу пару примеров:
Disallow NoMatch *.2lx.ru/*
Запретит индексацию всего, что за пределами сайта 2lx.ru
Disallow NoMatch Regex /$|.htm$|.html$|.shtml$|.phtml$|.php$|.txt$
Запретит все страницы, имеющие расширение не-html файла.
На этом, думаю, можно завершить сию эпопею. Если что-то Вам покажется непонятным — спрашивайте, обязательно помогу.
|
|
Webmoney Z163628999150, R617151845974
|