# Хранение сжатых копий документов
DataparkSearch - Полнофункциональная поисковая машина для Интернета и Интранета с открытым исходным кодом. Распространяется по лицензии GNU.
Keywords: shareware, freeware, интернет, unix, поисковик, поисковая машина, поиск, поиск информации, интранет, open source, opensource, search, searching, software, udmsearch, engine, indexing, system, web, ftp, http, cgi, php, SQL, MySQL, database, php3, FreeBSD, Linux, Unix, DataparkSearch, MacOS X, Mac OS X, Windows, 2000, NT, 95, 98, GNU, GPL, url, grabbing

DataparkSearch Engine 4.53: Справочное руководство
Пред. | Глава 3. Индексирование | След.

# 3.13. Хранение сжатых копий документов

DataparkSearch имеет возможность хранения сжатых копий проиндексированных документов. Копии сжимаются и хранятся при помощи нового демона - stored, который устанавливается в поддиректорию `sbin` корневой директории установки DataparkSearch (по умолчанию: `/usr/local/dpsearch/sbin`).

В DataparkSearch можно хранить сжатые копии документов без использования демона stored. Для этого вместо настройки параметров stored в файле конфигурации `indexer.conf` необходимо указать команду DoStore yes.

Сохраненные копии документов отображаются отдельной CGI-программой `storedoc.cgi`. Эта программа получает сохранённую копию от stored и отображает содержимое этого документа в окне броузера предварительно выделив слова из поискового запроса.

Для использования возможностей stored, скомпилируйте DataparkSearch с поддержкой `zlib`:

    ./configure --with-zlib <other arguments>

Вы можете использовать команды Store и NoStore для разрешения или запрещения сохранения некоторых фалов по шаблону. Аргументы у этих команд точно такиеже, как и у команды Allow (см. Разд. 3.10.14>). Все документы сохраняются по умолчанию, если включена поддержка stored.

## 3.13.1. Конфигурирование stored

Перед использованием stored, пожалуйста, проделпйте следующее:

- Скопируйте `/usr/local/dpsearch/etc/stored.conf-dist` в `/usr/local/dpsearch/etc/stored.conf`.

  Отредактируйте `/usr/local/dpsearch/etc/stored.conf`

  Следующие команды используются для конфигурирования stored:

  - Listen говорит stored к какому адресу и/или порту привязаться. По умолчанию, stored привязывается к порту 7004 и каждому адресу. Возможно указывать только порт:

    `Listen 7004`

    Или только адрес:

    `Listen 127.0.0.2`

    Или оба, алрес и порт:

    `Listen 127.0.0.2:7004`

  - VarDir задаёт альтернативную рабочую директорию `var/`, например:

    `VarDir /mnt/d/dpsearch/var/`

  - StoredFiles указывает число файлов-хранилищ, создаваемых в директории `var/stored/`, например:

    `StoredFiles 256`

  - OptimizeInterval задаёт интервал в секундах между попытками оптимизировать очередной файл-хранилище, например:

    `OptimizeInterval 300`

  - OptimizeRatio задаёт уровень дефрагментации в процентах, по достижении которого файл-хранилище оптимизируется, например:.

    `OptimizeRatio 3`

- Запустите stored:

  `/usr/local/dpsearch/sbin/stored &`

- Отредактиируйте `indexer.conf` и `search.htm` (или `searchd.conf`, если используется searchd). Укажите адрес и порт, кроторые `indexer` будет использовать для связи с stored. Используйте параметр `stored` команды DBAddr, например:

  `DBAddr mysql://localhost/search/?dbmode=cache&stored=localhost:7004`

## 3.13.2. Как работает stored

После того, как вы сконфигурируете и запустите stored, `indexer` будет передавать ему проиндексированные документы. А stored будет сжимать полученные документы и сохранять их на диске.

## 3.13.3. Использование stored при поиске

Для включения отображения сохраненных документов при поиске, проделайте следующее:

- Отредактируйте `storedoc.htm` (шаблон для `storedoc.cgi`), если необходимо.

- Добавьте в секцию `<!--res-->` шаблона `search.htm` ссылку на `storedoc.cgi`, например: `<A HREF="$(stored_href)">Cached copy</A>`

- Укажите URL CGI-программы `storedoc.cgi` в `search.htm` (по умолчанию `$(stored_href)` будет возвращать `/cgi-bin/storedoc.cgi`). Если вам необходимо указать другой URL, добавьте в раздел переменных шаблона `search.htm` следующую строку:

  `StoredocURL /path/to/storedoc.cgi`

  Или для абсолютной ссылки:

  `StoredocURL http://servername/path/to/storedoc.cgi`

Если все сконфигурировано правильно, при поиске stored работает следующим образом:

1. `search.htm` показывает ссылку на `storedoc.cgi`;

2. Когда пользователь кликает по ссылке, `storedoc.cgi` посылает запрос к демону stored по адресу, указанному в `storedoc.htm` при помощи параметра `stored` команды DBAddr;

3. По этому запросу, stored находит и разжимает запрошенную копию и отправляет ее `storedoc.cgi`;

4. `storedoc.cgi` разбирает полученный документ и выделяет все слова из поискового запроса. Способ выделения указывается в шаблоне `storedoc.htm` командами HlBeg and HlEnd;

## 3.13.4. Цитаты документов

stored также используется для создания цитат документов на основе слов из запроса.

Для задания приблизительного размера цитаты в символах, используйте в `search.htm` (в секции `variables`) команду ExcerptSize. Значение, используемое по умолчанию, равно 256.

С помощью команды ExcerptPadding вы можете задать примерное число символов, возвращаемых в цитате перед и после найденного слова запроса; значение по умолчанию: 40.

При помощи команды ExcerptMark вы можете изменить разделяющую последовательность символов, вставляемую между частями цитаты с ключевыми словами; значение по умолчанию: " ... " (пробел, многоточие, пробел).

Вы можете выключить создание цитат (но сохранив возможность показа сохраненных копий) документов указав команду DoExcerpt no в вашем поисковом шаблоне.

Пред. | Начало | След.
Использование syslog | Уровень выше | HTML-парсер в DataparkSearch