В системе предусмотрена возможность оптимизации двух параметров:
Для оптимизации скорости поиска рекомендуется применить следующие опции:
Для оптимизации скорости поиска рекомендуется применить следующие опции:
CNSearch осуществляет полнотекстовый поиск и предоставляет статистические отчеты для оценки содержимого сайта и релевантности его составляющих.
Статистические данные хранятся в файле 'stats.cns', который следует содержать в том же каталоге, что и поисковый индекс. В случае если cgi-скрипт, осуществляющий поиск, не сможет иметь доступа к файлу либо не будет иметь разрешение на его создание (типичная практика), то статистические данные сохраняться не будут.
Вы можете создать файл 'stats.cns' вручную и задать права доступа для него.
Доступ к статистическим данным защищен паролем, который устанавливается в конфигурационном файле клиентской части при помощи параметра Stats (см. Параметры конфигурирования), например:
-- cnsearch.conf ----------------------------- ::CONFIG stats = thisispass ::HTMLTOP <HTML> <HEAD> <TITLE>Search results - %Q</TITLE> </HEAD> ... -- end of cnsearch.conf ----------------------
Для просмотра статистических данных следует указать параметр 'stats' в URL сайта, например:
http://www.site.com/cgi-bin/search.cgi?stats=1&password=thisispass
или:
http://www.site.com/cgi-bin/search.exe?stats=1&password=thisispass
На данный момент в системе доступны два отчета:
Этот отчет отображает поисковые фразы, наиболее часто используемые посетителями Вашего сайта, и количество найденных результатов. С помощью этого отчета Вы сможете проанализировать наиболее популярные объекты поиска, процент их нахождений. Возможен просмотр статистики за любой период времени:
В данном отчете отображено распределение количества поисковых запросов по времени; возможна настройка просмотра данных за любой период:
В случае если Вам понадобятся другие виды статистических отчетов, пожалуйста, обращайтесь к нам; возможно, они будут включены в следующие версии программы.
Плагины представляют собой специальные модули, позволяющие расширить функционал приложения. CNSearch использует плагины к индексным файлам различных типов.
Плагины следует хранить в том же каталоге, что и индексатор. В версиях UNIX и Linux эти файлы имеют расширение .so, в Windows - .dll. Для отключения плагина потребуется всего лишь переместить его в другой каталог.
В текущую версию приложения включены плагины, позволяющие индексировать файлы следующих типов:
Имя файла для версии UNIX/Linux | Имя файла для версии Windows | Тип обрабатываемого документа |
---|---|---|
libtxt.so | libtxt.dll | *.TXT - текстовые файлы |
librtf.so | librtf.dll | *.RTF - текстовые файлы формата RFT |
libdoc.so | libdoc.dll | *.DOC - файлы Microsoft Word |
libxls.so | libxls.dll | *.XLS - файлы Microsoft Excel |
libmp3.so | libmp3.dll | *.MP3 - MPEG Layer 3 аудио-файлы |
Плагины версии 0.92 не определяют кодировку, поскольку для большинства файлов это не нужно.
Поле 'encoding' в документах, обрабатываемых плагинами, заменяется текстом, заданным в плагине; это позволяет создавать шаблоны с отображаемым типом найденного документа.
При запуске индексатор загружает все активные плагины, например:
F:\1\bin\indexer>searchctl.exe localhost CNSearch ver.0.92 [build 2073] Compiled 07.04.2002 under MS Windows 2000 [Version 5.00.2195] Rebuilding URL list...Ok. Loading library: RTF (Rich text format) Loading library: TXT (Plain text) Loading library: DOC (Microsoft Word document format) http://www.test.ru/
Главным преимуществом плагинов является возможность создания новых, позволяющих индексировать файлы особых форматов, например, изображений.
Для создания плагина следует воспользоваться архивом 'plugin.zip', расположенным в папке '/manual' инсталляционного пакета. Данный файл содержит исходный код плагина, обрабатывающего текстовые файлы.
Для корректной работы в системе плагин должен иметь надлежащее расширение и обладать следующим набором функций:
Название функции | Описание функции |
---|---|
char *get_info(void) | Возвращает строку - информацию о плагине (название) |
char *get_mime(void) | Возвращает строку - список MIME TYPEs, обрабатываемых данным плагином и разделенных вертикальной линией "|" |
char* get_shortdesc(void) | Возвращает строку - краткое название типа файла |
char* get_range(void) | Возвращает строку - поле "Range" HTTP заголовка (см. RFC2068); если поле не используется возвращает значение NULL. |
char* get_title(void) | Возвращает строку - название документа. При значении NULL отображается URL документа. |
TPluginWord* get_word(unsigned char *d, unsigned long filesize) | Основная функция - возвращает указатель на структуру 'TpluginWord', содержащую слово, добавляемое к поисковому индексу. Данная функция должна возвращать слова, содержащиеся в документе последовательно.
|
Структура TpluginWord выглядит следующим образом:
typedef struct { char word[32]; int rel; bool end; } TPluginWord;
где:
Методы, используемые программой для генерации функций плагина:
Поисковые роботы (search bots) представляют собой программы, индексирующие веб-документы в сети Internet.
В 1993-94 годах было обнаружено, что поисковые роботы зачастую индексируют сайты против воли их владельцев. Иногда, вследствие различных причин, роботы могут проиндексировать одни и те же файлы несколько раз. В некоторых случаях поисковые роботы индексируют ненужные документы - виртуальные каталоги, временные данные либо CGI-скрипты. Для решения подобных проблем был разработан Стандарт Блокирования.
Для решения проблемы необходимо создать файл, содержащий информацию об управлении поведением робота с целью блокировать запрос робота к веб-серверу либо его составляющим. Данный файл должен находиться в корневом каталоге сайта '/robots.txt'.
Суть решения заключается в предоставлении роботу возможности нахождения алгоритмов, описывающих его действия по запросу только одного файла. Файл '/robots.txt' можно создать на любом действующем веб-сервере.
Выбор подобного имени файла продиктован следующими обстоятельствами:
Структура и семантика файла '/robots.txt" заключается в следующем:
Файл должен содержать одну или несколько записей, разделенных одной или более строками (оканчивающимися кодом CR, CR/NL, or NL). Каждая запись должна содержать строки "<field>:<optional_space><value><optional_space>".
Поле <field> не зависит от регистра.
Комментарии задаются стандартным способом, используемым в UNIX: символ '#' обозначает начало комментария, конец линии обозначает завершение комментария.
Запись следует начинать со строки 'User-Agent' (одной или нескольких), за которой следует одна или более строк Disallow. Нераспознаваемые строки игнорируются.
User-Agent:
Disallow:
Если файл '/robots.txt' пуст, не соответствует вышеозначенной структуре и семантике либо отсутствует, поисковые роботы действуют согласно своим настройкам.
Пример 1:
# robots.txt for http://www.site.com User-Agent: * # this is an infinite virtual URL space Disallow: /cyberworld/map/ Disallow: /tmp/ # these will soon disappear
В данном примере содержание '/cyberworld/map/' и '/tmp/' защищено.
Пример 2:
# robots.txt for http://www.site.com User-Agent: * # this is an infinite virtual URL space Disallow: /cyberworld/map/ # Cybermapper knows where to go User-Agent: cybermapper Disallow:
В данном примере поисковому роботу 'cybermapper' предоставлен полный доступ, тогда как остальные роботы не имеют доступа к содержимому '/cyberworld/map/'.
Пример 3:
# robots.txt for http://www.site.com User-Agent: * Disallow: /
В данном примере доступ к серверу запрещен любому поисковому роботу.
Помимо вышеописанного стандарта блокирования поисковых роботов в системе также представлена возможность управления поведением роботов при помощи HTML-тэга 'META'.
В отличие от файла 'robots.txt', описывающего процесс индексации сайта, как единого целого, тэг 'META' позволяет управлять процессом индексации конкретной веб-страницы. Кроме того, возможна отмена индексации не только документа в целом, но и ссылок, содержащихся в нем.
Параметры индексации следует указывать в атрибуте 'content' исходного кода каждой страницы веб-сайта. Возможно использование следующих параметров:
Значение по умолчанию: <meta name="Robots" content="ALL">.
Примечание: не следует перечислять значения через запятую.
Пример некорректного варианта:
<META name="ROBOTS" content="noindex, nofollow">
Правильный вариант:
<META name="ROBOTS" content="none">
В данном примере индексатор позволяет анализировать документ без последующей индексации ссылок, найденных в нем:
<META name="ROBOTS" content="nofollow">
Имя тэга, а также названия и значения полей не зависят от регистра. В действительности, индексатор проверяет наличие лишь трех значений: NOINDEX, NOFOLLOW и NONE, поскольку FOLLOW и INDEX являются значениями по умолчанию.