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

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

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

В 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, пожалуйста, проделпйте следующее:

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

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

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

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

Если все сконфигурировано правильно, при поиске 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;