Все настройки индексатора содержатся в конфигурационном файле search.conf. Данный файл имеет следующую структуру:
[Job name_of_task] [Index] Parameter1 Value1 Parameter2 Value2 Parameter3 Value3 [Index] Parameter1 Value1 Parameter2 Value2 Parameter3 Value3
Для каждого действия заданы параметры и их значения, разделяемые пробелом или табуляцией.
Примечание: В конфигурационном файле возможно использование однострочных комментариев. Каждый комментарий начинается с символа "#".
Для процесса индексации возможно использование следующих параметров:
URL url
Адрес, начинающийся с 'http://...' в HTTP-режиме индексации, либо путь к копии сайта на локальном диске в режиме локальной индексации.
Пример:
Для HTTP:
URL http://www.novgorod.ru/frisbee/
Для диска (Windows):
URL c:/pub/home/frisbee/
Для диска (Unix):
URL /pub/home/frisbee/
Extensions ext1,ext2,ext3
Параметр задает список расширений файлов, включенных в индексацию; может использоваться только в режиме локальной индексации. Расширения файлов разделяются запятой ",".
Пример:
Extensions htm,html,shtml,shtm
Type typ
Параметр задает тип поискового индекса:
По умолчанию - обычный.
Пример:
Type Strict
Path path
Параметр задает путь к каталогу, в котором сохраняются индексные и лог-файлы.
Пример:
Path c:\www\site.com
либо
Path /home/www/site.com
CharSet cset
Параметр устанавливает метод определения кодировки индексируемых файлов. Возможны следующие методы:
Пример:
CharSet ByHTTPHeader
MaxFiles num
Параметр задает максимальное количество индексируемых файлов; по умолчанию 10000. Будьте осторожны: многие сервера содержат огромное количество зацикливающихся ссылок.
Пример:
MaxFiles 50
MinWords num
Параметр задает минимальное количество слов в индексируемом документе. Документы с меньшим количеством слов не будут добавлены в поисковый индекс. Этот параметр позволяет повысить качество результатов поиска путем выбрасывания маленьких и неинформативных документов. Значение по умолчанию - 1
Пример:
MinWords 30
Statistic stat
Параметр задает способ сохранения отчетов, которые генерируются в завершающей стадии процесса индексации и сохраняются в stats.log. Возможные опции:
Пример:
Statistic Append
Exclude excl1,excl2,excl3
Параметр задает список слов, исключаемых из индексации. Адреса, содержащие, как минимум, одно из исключаемых слов, также не включаются в индексацию. Слова разделяются запятой ",".
Пример:
Exclude editpost.php?,reply.php?,admin/
ExcludeVar var1,var2,var3
Параметр задает список переменных, исключаемых из URL сайта. Переменные разделяются запятой ",".
Пример:
ExcludeVar PHPSESSID,order
AddOption opt
Параметр задает метод индексации и используется только в HTTP-режиме. Доступны следующие варианты:
Пример:
AddOption SubPages
StopWordsFile file
Параметр задает имя файла, содержащего стоп-слова (см. Стоп-слова).
Пример:
StopWordsFile stop.txt
Параметр задает язык. Если данный параметр указан, поле 'Accept-Language' включается в HTTP- заголовок. Эта переменная может влиять на содержимое документов на некоторых сайтах.
Пример:
Language ru
AFrom path
Параметр задает подстроку, которая в URL будет замещена строкой, указанной в параметре ATo.
Пример:
AFrom /home/dir/mysite/ ATo http://search.codenet.ru/
ATo url
Параметр задает подстроку, заменяющую AFrom в URL; используется вместе с параметром AFrom.
Пример:
AFrom http://127.0.0.1/ ATo http://www.codenet.ru/
или
AFrom c:/documents/www/www.codenet.ru/ ATo http://www.codenet.ru/
StartWord word
Параметр определяет слово, с которого начинается процесс индексации страницы сайта. Описание страницы составляется из слов, следующих за стартовым словом. Таким образом, возможно исключение меню и т.п. из описания.
Пример:
StartWord about
MetaDescription yesno
Параметр определяет метод описания страницы. Описание может отображаться в результатах поиска с помощью специального символа %E (см. cnsearch.conf). Возможные значения - "Yes"/"No". По умолчанию - 'No'. Если используется 'Yes', система пытается получить описание из тэга '<META name="description...'. Если тэг невозможно найти, либо задано значение 'No', описание составляется из первых слов документа (см. StartWord).
Пример:
MetaDescription Yes
MetaRobots yesno
В случае если проставлен параметр "No", тэг '<META name="robots"...' игнорируется; в противном случае тэг анализируется на наличие NOINDEX, NOFOLLOW, NONE. Более подробно см. в разделе Поисковые роботы. По умолчанию - "Yes".
Пример:
MetaRobots No
UseRobotsTxt <yesno>
В случае если проставлен параметр "Yes", алгоритм индексации заимствуется из файла 'robots.txt', хранящегося в корневом каталоге веб-сервера. По умолчанию - "No". Более подробно см. в разделе Поисковые роботы. Имя робота - "CNSearch".
Пример:
UseRobotsTxt yes
ConnectCount <num>
Параметр задает количество запросов удаленного файла. По умолчанию - 5.
Пример:
ConnectCount 10
Начиная с версии 0.91 в системе поддерживается возможность использования прокси-сервера; добавлены следующие директивы:
ProxyServer server
Параметр задает адрес прокси-сервера. Индексатор подключается к прокси-серверу, взаимодействуя с параметром ProxyPort (см. далее).
Пример:
ProxyServer proxy.domain.ru
ProxyPort port
Параметр определяет порт прокси-сервера.
Пример:
ProxyPort 3128
ProxyLogin login
Параметр задает логин для соединения с прокси-сервером; используется только в случае если прокси-сервер запрашивает авторизацию. Взаимодействует с параметром ProxyPassword (см. далее).
Пример:
ProxyLogin alex
ProxyPassword password
Параметр задает пароль для соединения с прокси-сервером; используется только в случае если прокси-сервер запрашивает авторизацию.
Пример:
ProxyPassword qwerty
Для учета в процессе поиска морфологии (грамматических форм слова) следует создать файл 'lang.cns' и сохранить его в каталоге, предназначенном для хранения индексных файлов. Данный файл не включен в дистрибутив из-за большого размера - 16 Mb.
В системе разработан специальный инструмент, позволяющий сгенерировать 'lang.cns' из словарей ispell, которые можно найти по адресу: http://fmg-www.cs.ucla.edu/geoff/ispell-dictionaries.html. Словарь ispell состоит из двух файлов - первый представляет собой список слов (lang.dict), второй - набор грамматических правил (lang.aff). В архивах данные файлы могут иметь другие имена; в этом случае необходимо переименовать их в 'lang.dict' и 'lang.aff' соответственно.
Примечание: В случае если Вы уже сгенерировали индекс с учетом различия словоформ, то при последующем процессе поиска следует также принимать во внимание словоформы и использовать тот же словарь.
Начиная с версии1.3 в CNSearch Pro реализована возможность пропуска часто используемых служебных слов (артиклей, местоимений, предлогов) в процессе индексации для увеличения скорости поиска и уменьшения объема информации, хранящегося в поисковом файле. Такого рода слова в системе условно именуются "стоп-словами".
Стоп-слова определяются на стадии индексации при помощи файла, в котором они размещены списком, например:
- file: stopwords.txt --------------- a an is the this -------------------------------------
Имя файла, содержащее стоп-слова, указано в search.conf в параметре StopWordsFile:
StopWordsFile stopwords.txt
Посетителей Вашего сайта можно уведомить о том, какие именно слова в их запросе будут проигнорированы в процессе поиска, путем использования специального символа %Р, включающего опцию отображения стоп-слов в результатах поиска:
Словосочетание "Stop Words" можно заменить другим эквивалентом (например, при переводе на другой язык) путем изменения параметра StopWords в конфигурационном файле клиентской части (см. cnsearch.conf).