Gatherer'ы и Broker'ы Harvest взаимодействуют используя протокол потока пар атрибут-значение, который называется форматом взаимообмена краткими изложениями документов (Summary Object Interchange Format, SOIF), пример которого есть в разделе Пример 1. Gatherer'ы генерируют резюме содержимого для отдельных объектов в формате SOIF и предоставляют эти резюме брокерам, которые хотят их собрать и проиндексировать. SOIF предоставляет средства для передачи резюме содержимого объектов брокерам от Gatherer'а в формате SOIF для многих объектов в одном, эффективном сжатом потоке. Брокеры Harvest имеют поддержку для выполнения запросов к данным SOIF, используя структурированные запросы вида атрибут-значение и много других типов запросов, что обсуждается в разделе Отправление запросов Broker'у.
Грмматика SOIF следующая:
SOIF ::= OBJECT SOIF | OBJECT
OBJECT ::= @ TEMPLATE-TYPE { URL ATTRIBUTE-LIST }
ATTRIBUTE-LIST ::= ATTRIBUTE ATTRIBUTE-LIST | ATTRIBUTE
ATTRIBUTE ::= IDENTIFIER {VALUE-SIZE} DELIMITER VALUE
TEMPLATE-TYPE ::= Alpha-Numeric-String
IDENTIFIER ::= Alpha-Numeric-String
VALUE ::= Arbitrary-Data
VALUE-SIZE ::= Number
DELIMITER ::= ":<tab>"
Каждый брокер может поддерживать различные атрибуты, в зависимости от данных, которые он хранит. Ниже мв приводим список наиболее общих атрибутов:
Abstract
Краткий обзор объекта.
Author
Автор(ы) объекта.
Description
Краткое описание объекта.
File-Size
Число байт в объекте.
Full-Text
Все содержимое объекта.
Gatherer-Host
Хост, на котором Gatherer запущен для извлечения информации об объекте.
Gatherer-Name
Имя Gatherer'а, который извлекает информацию об объекте. (например,
Full-Text (весь текст), Selected-Text (выбранный текст) или Terse (сжатый)).
Gatherer-Port
Номер порта на хосте Gatherer'а, который обслуживает информацию Gatherer'а.
Gatherer-Version
Номер версии Gatherer'а.
Update-Time
Время, когда Gatherer обновлял резюме содержимого объекта.
ТРЕБУЕМОЕ поле. Нет значения по умолчанию.
Keywords
Ключевые слова для поиска, извлеченные из объекта.
Last-Modification-Time
Время, когда объект был модифицирован последний раз.
MD5
16-байтная контрольная сумма MD5 объекта.
Refresh-Rate
Число секунд после времени Update-Time, по истечнии которых резюме объекта должно быть
регенерировано. По умолчанию -- 1 месяц.
Time-to-Live
Число секунд после времени Update-Time, по исечении которых резюме объекта больше
не действительно. По умолчанию -- 6 месяцев.
Title
Заголовок объекта.
Type
Тип объекта. Ниже приведены некоторые примеры типов:
Archive
Audio
Awk
Backup
Binary
C
CHeader
Command
Compressed
CompressedTar
Configuration
Data
Directory
DotFile
Dvi
FAQ
FYI
Font
FormattedText
GDBM
GNUCompressed
GNUCompressedTar
HTML
Image
Internet-Draft
MacCompressed
Mail
Makefile
ManPage
Object
OtherCode
PCCompressed
Patch
Pdf
Perl
PostScript
RCS
README
RFC
RTF
SCCS
ShellArchive
Tar
Tcl
Tex
Text
Troff
Uuencoded
WaisSource
URI
Uniform Resource Identifier - универсальный идентификатор ресурса.
URL-References
Любые ссылки URL, присутствующие в объектах HTML.