# Структура таблиц базы данных
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: Справочное руководство
Пред. | Глава 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` | Уровень выше | Индекс подборки