DataparkSearch Engine 4.50: Справочное руководство
Пред. | Глава 9. Разное | След.

# 9.3. Структура таблиц базы данных

Полная структура таблиц базы данных, используемых DataparkSearch, описана в sql-скрптах создания структуры базы данных, находящихся в соответстувующих директориях поддиректории `create`.

Таблица 9-1. Структура таблицы `server`

`rec_id` | Уникальный идентификатор записи.
`enabled` | Флаг включения записи для загрузки при старте indexer.
`url` | URL или его фрагмент или шаблон, указываемый в соответствующей команде.
`tag` | Значение тэга для этого ресурса.
`category` | Ссылка на запись в наблице `categories`, соответсвующей категории для данного ресурса.
`command` | =S - тип записи `сервер` =F - типа записи `фильтр`
`ordre` | Ключ сортировки, задающий порядок загрузки записей таблицы `server` при запуске indexer.
`parent` | Если значение не ноль, запись содержит в поле `url` имя сервера, добавленного автоматически при индексировании. Значение этого поля равно url_id записи этой таблицы, на основании которой дабавлена эта запись.
`weight` | Вес данной записи при подсчёте рейтинга популярности документов.
`pop_weight` | Вес одной ссылки со страниц данного русурса. Рассчитывается автоматически. Изменнеие значения вручную никакого влияния не оказывает.

Остальные параметры серверов хранятся в таблице `srvinfo`, аналогичной по структуре таблице `urlinfo`. Значения некоторых параметров приведены в таблице ниже.

Таблица 9-2. Значения некоторых параметров серверов в таблице `srvinfo`

Значение `sname` | Возможные значения `sval`.
--- | ---
`Alias` | Алиас для указанного в поле `server.url`.
`Period` | Интервал между повторными индексированиями этого ресурса, задаваемый в секундах.
`DeleteOlder` | Задаёт сколько времени хранить проиндексированные документы в базе.
`RemoteCharset` | Значение кодировки документа по умолчанию для данного ресурса.
`DefaultLang` | Значение языка документа по умолчанию для данного русурса.
`Request.Authorization` | Учётные данные, используемые для доступа с использованием авторизации.
`Request.Proxy` | Имя прокси-сервера, используемое при доступе через прокси-сервер.
`Request.Proxy-Authorization` | Авторизация на прокси-сервере.
`MaxHops` | Максимальная глубина перехода по ссылкам от корневого индеска.
`Index` | Флаг, указывающий индексировать или нет документы данного ресурса.
`Follow` | =0, "page" =1, "path" =2, "site" =3, "world"
`Robots` | Флаг указывающий использование `robots.txt` для данного ресурса.
`DetectClones` | Флаг включения механизма определения "клонов".
`MaxNetErrors` | Максимальное число ошибок сети для этой записи. Аналог команды MaxNetError в `indexer.conf`.
`NetDelayTime` | Время задержки индексирования сети при обнаружении ошибки сети при его пролучении.
`ReadTimeout` | Таймаут ожидания получения документа с этого ресурса.

`match_type`

=0, DPS_MATCH_FULL - полное совпадение.

=1, DPS_MATCH_BEGIN - совпадает начало.

=2, DPS_MATCH_SUBSTR - шаблон является подстрокой проверяемой ссылки.

=3, DPS_MATCH_END - совпадает конец.

=4, DPS_MATCH_REGEX - шаблон является регулярным выражением, на соответствие которому проверяются ссылки.

=5, DPS_MATCH_WILD - используется шаблон файловой системы.

=6, DPS_MATCH_SUBNET - < пока нереализовано >.

`case_sense` | =1, - сравнивать без учёта регистра. =0, - сравнивать с учётом регистра.
`nomatch` | =1, - соответствующими данной записи считаются URL, не совпадающие с указаным шаблоном. =0, - соответствующими данной записи считаются ссылки, совпадающие с шаблоном.

`Method`

Задаёт действие, которое будет произведено с документами.

=Allow, - документы будут индексироваться, а также сканироваться на наличие новых ссылок.

=Disallow, - документы индекироваться и добавляться в базу не будут, если они уже находятся в базе, то они будут удалены.

=HrefOnly, - документы не будут индексироваться, а будут только просканированы на наличие новых ссылок.

=CheckOnly, - документы будут запрашиваться методом HTTP HEAD, а не HTTP GET, т.е. будет запрошено не содержимое документа, а только краткая информация о нем: размер, дата модификации, `Content-Type`.

=Skip, - документы будут пропущены при очередной индексации.

=CheckMP3, - документы будут проверяться на наличие тэгов MP3 несмотря на наличие `Content-Type`, отличного от `audio/mpeg`.

=CheckMP3Only, - аналогично `CheckMP3`, однако при отсутствии тэгов MP3 `indexer` не будет запускать внутренний или внешний парсер, предусмотренный для полученного `Content-Type`.

=TagIf, - документы будут помечены заданым тэгом.

=CategoryIf, - документы будут помечены заданой категорией.

=IndexIf, - документы будут проиндексированы, если указаная секция подпадает под заданый шаблон.

=NoIndexIf, - документы индексироваться и добавляться в базу не будут, если указаная секция подпадает под заданый шаблон.

`Section` | Имя секции, используемой для сравнения с шаблоном для методов IndexIf и NoIndexIf.

Пред. | Начало | След.
Использование библиотеки `libdpsearch` | Уровень выше | Предметный указатель