Схема полнотекстовой базы данных — различия между версиями

Материал из Wikipedia
Перейти к: навигация, поиск
Строка 11: Строка 11:
  
 
Соответствие записи базы данных и объекта полнотекстового поиска устанавливается при помощи специальных [[Полнотекстовые базы данных ИРБИС#Ссылки на полные тексты|ссылок]].
 
Соответствие записи базы данных и объекта полнотекстового поиска устанавливается при помощи специальных [[Полнотекстовые базы данных ИРБИС#Ссылки на полные тексты|ссылок]].
 +
 +
Ссылка на текст представляет собой структуру, предназначенную для хранения информации, достаточной для обеспечения доступа к объекту полнотекстового поиска.
 +
 +
===Поле для хранения ссылки===
 +
 +
Метка поля, используемого для хранения ссылки, задаётся в параметре <tt>Full_Text_Name</tt> конфигурационных файлов [[АРМ Администратор полнотекстовых БД]] и [[АРМ Читатель для полнотекстовых БД]] (описание параметра см. в статье [[Конфигурационные параметры ИРБИС для полнотекстовых БД]]).
 +
 +
По умолчанию, для хранения ссылки используется [[Использование в ИРБИС полей из блока локального использования формата RUSMARC|метка поля <tt>952</tt>]].
 +
 +
Данное поле не повторяющееся.
 +
 +
Поле доступно на рабочем листе ''Технологическая'' в [[АРМ Каталогизатор]].
 +
 +
===Виды ссылок на полные тексты===
 +
 +
Ссылки на тексты из внешних файлов различаются в зависимости от [[Полнотекстовые базы данных ИРБИС#Объекты полнотекстового поиска в ИРБИС|объекта полнотекстового поиска]] и особенностей доступа.
 +
 +
Виды ссылок по способу доступа к [[Полнотекстовые базы данных ИРБИС#Объекты полнотекстового поиска в ИРБИС|объектам полнотекстового поиска]]:
 +
* Объект полнотекстового поиска находится на файловой системе.
 +
* Текстовый файл доступен по URL (HTTP или FTP).
 +
 +
Виды ссылок по размещению [[Полнотекстовые базы данных ИРБИС#Объекты полнотекстового поиска в ИРБИС|объектов полнотекстового поиска]] на файловой системе:
 +
* Текстовый файл на файловой системе.
 +
* Текстовый файл в архиве ZIP или RAR.
 +
 +
Виды ссылок в зависимости от [[Полнотекстовые базы данных ИРБИС#Объекты полнотекстового поиска в ИРБИС|объекта полнотекстового поиска]] (только в случае размещения текстового файла непосредственно на файловой системе):
 +
* Текстовый файл.
 +
* Страница многостраничного документа PDF или DJVU.
 +
* Файл с текстовой "подложкой".
 +
 +
При нахождении текстового файла непосредственно на файловой системе ссылки различают по способу адресации:
 +
* ''относительные'' – в ссылке используется относительный путь (начинается с точки, например <tt>.\texts\irbis64_2008.doc</tt>);
 +
* ''абсолютные'' – в ссылке используется полный путь, включающий имя компьютера, в формате UNC (например, <tt>\\ComputerName\SharedFolder\Resource.pdf</tt>).
 +
 +
Относительный путь указывает местоположение файла относительно пути, указанного [[Файлы ИРБИС#Размещение баз данных ИРБИС 64 на файловой системе|в 11-й строке <tt>.par</tt>-файла]], по умолчанию – это папка базы данных.
 +
 +
При нахождении текстового файла в архиве ссылки также разделяются на ''относительные'' и ''абсолютные'', в зависимости от того, используется ли в ссылке относительный или абсолютный путь к архиву.
 +
 +
''Примечание: до введения в ИРБИС 2011.1 [[Отличия ИРБИС 2011.1 от предыдущей версии|соответствующего запрета в АРМ Администратор]] было возможно введение абсолютных ссылок, начинающихся с имени диска.''
 +
 +
''Примечание: [[Файлы ИРБИС#Размещение баз данных ИРБИС 64 на файловой системе|11-я строка <tt>.par</tt>-файла]] появилась начиная с [[Отличия ИРБИС 2012.1 от предыдущей версии|версии 2012.1]], в более ранних версиях относительный путь указывает местоположение файла относительно папки базы данных.''
 +
 +
===Элементы ссылки===
 +
 +
Ссылка на ''объект полнотекстового поиска'' в общем случае содержит следующие структурные элементы:
 +
* ''URL''
 +
* ''Путь к текстовому файлу''
 +
* ''Номер страницы''
 +
* ''Путь к файлу архива''
 +
* ''Путь к файлу внутри архива''
 +
* ''Имя файла с текстом-"подложкой"''
 +
* ''Полный путь для относительной ссылки'' (является избыточным и поддерживается по историческим причинам)
 +
 +
В зависимости от [[#Виды ссылок на полные тексты|вида]] ссылка содержит те или иные элементы.
 +
 +
====Структура, используемая для хранения ссылки в базе данных====
 +
 +
Структура, используемая для хранения ссылки в базе данных представляет собой совокупность подполей <tt>^B^C^I^T^U</tt>:
 +
* <tt>B</tt> – в зависимости от вида ссылки это относительный, полный или виртуальный путь к файлу полного текста, или же некоторые данные, дополняющие гиперссылку. Относительный путь используется для полнотекстовых документов, хранящихся в папке базы данных (относительный путь начинается с точки). Полные пути используются для ссылок на полнотекстовые документы, находящиеся вне папки базы данных. Виртуальные пути к текстовым документам используются для ссылок на полнотекстовые документы, хранящиеся в архивах <tt>.zip</tt> и <tt>.rar</tt>, а также в случае ссылок на отдельные страницы многостраничных документов <tt>.pdf</tt> и <tt>.djvu</tt>. Виртуальная ссылка, хранящаяся в этом подполе, позволяет узнать имя файла внутри архива или номер страницы многостраничного документа, но не имя файла архива или многостраничного документа.
 +
* <tt>C</tt> – полный путь к файлу <tt>zip/rar/pdf/djvu</tt>. Данное подполе используется для ссылок на полнотекстовые документы в архиве или отдельные страницы многостраничного документа.
 +
* <tt>I</tt> – URL текста, перенесённого из электронного каталога.
 +
* <tt>T</tt> – ссылка на файл [[АРМ Администратор полнотекстовых БД#Ассоциация текста-подложки с включаемым в полнотекстовую базу документом|подложки]]. Представляет собой имя текстового файла, подразумевается, что местонахождение файла подложки соответствует местонахождению полнотекстового документа.
 +
* <tt>U</tt> – введено для технологических целей [[Отличия ИРБИС 2010.1 от предыдущей версии|в версии 2010.1]]. Подполе <tt>^U</tt> было задумано как универсальная замена подполям <tt>^B^C^I</tt> с возможностью расширения, однако было признано неудобным с точки зрения его разбора средствами языка форматирования. Как следствие, подполе <tt>^U</tt> остаётся вспомогательным, и используется наряду с другими подполями.
 +
 +
Подполе <tt>^U</tt> всегда начинается с префикса
 +
uri:irbis:
 +
Дальнейшее содержимое зависит от объекта полнотекстового поиска.
 +
 +
''Примечание: особенность ссылок на отдельную страницу многостраничного документа (то же касается и текстов в архиве) в том, что относительные или абсолютные ссылки отличаются подполем <tt>^B</tt>, а в подполе <tt>^C</tt> в обоих случаях хранится абсолютный путь (который не используется). Эта избыточность сложилась исторически. Избыточность стала причиной ошибки, которая была [[Отличия ИРБИС 2011.1 от предыдущей версии#Исправления ошибок|исправлена в версии 2011.1 (см. ''ошибочное использование абсолютного пути из подполя <tt>^C</tt> в случае относительных ссылок с разбиением на страницы'')]].''
 +
 +
====Составление ссылки====
 +
 +
Ниже приведены примеры составления ссылки в зависимости от [[Полнотекстовые базы данных ИРБИС#Объекты полнотекстового поиска в ИРБИС|объекта полнотекстового поиска]] и особенностей доступа.
 +
 +
:'''Ссылка на текстовый файл'''
 +
 +
Объект полнотекстового поиска: текстовый файл.
 +
 +
Доступ: на файловой системе.
 +
 +
Элементы ссылки: ''путь к текстовому файлу''.
 +
 +
Пример относительной ссылки на текстовый файл:
 +
^B.\texts\irbis64_2008.doc
 +
 +
Пример абсолютной ссылки на текстовый файл:
 +
^B\\ComputerName\SharedFolder\FullTexts\doc\ИРБИС_документация\ТЕХНИЧЕСКАЯ ДОКУМЕНТАЦИЯ.doc
 +
 +
:'''Ссылка на отдельную страницу многостраничного документа'''
 +
 +
Объект полнотекстового поиска: отдельная страница многостраничного документа (формата PDF или DJVU).
 +
 +
Доступ: на файловой системе.
 +
 +
Элементы ссылки: ''путь к текстовому файлу'', ''номер страницы''.
 +
 +
Подполя: <tt>^B^C^U</tt>.
 +
 +
Подполе <tt>^B</tt> конструируется следующим образом:<br>
 +
<tt><путь к файлу (без имени файла)> + <имя файла (без расширения)> + <суффикс> + <номер страницы> + <расширение файла></tt><br>
 +
где:
 +
* <tt><путь к файлу (без имени файла)></tt> – путь (относительный или абсолютный) к исходному многостраничному документу, без имени файла;
 +
* <tt><имя файла (без расширения)></tt> – имя файла исходного многостраничного документа без расширения;
 +
* <tt><суффикс></tt> – последовательность символов, которая отделяет имя файла от номера страницы (по умолчанию два знака подчёркивания <tt>__</tt>, вообще определяется [[Конфигурационные параметры ИРБИС для полнотекстовых БД|конфигурационным параметром <tt>FULL_TEXT_FileNamePrefixDiv</tt>]]);
 +
* <tt><номер страницы></tt> – номер страницы, дополненный лидирующими нулями до 4 символов;
 +
* <tt><расширение файла></tt> – расширение исходного многостраничного документа <tt>.pdf</tt> или <tt>.djvu</tt>.
 +
 +
Подполе <tt>^C</tt> представляет собой: АБСОЛЮТНЫЙ путь к файлу и имя исходного многостраничного файла. По историческим причинам в данном подполе хранится АБСОЛЮТНЫЙ путь даже в том случае, если ссылка является относительной. ''Примечание: хранение пути к файлу в подполях <tt>^B</tt> и <tt>^C</tt> представляет собой факт наличия избыточной информации; более того, АБСОЛЮТНЫЙ путь в относительной ссылке представляет собой не только избыточную, но также и потенциально недостоверную информацию, которая не должна использоваться (данная информация игнорируется при [[#Интерпретация ссылки|интерпретации ссылки]]).''
 +
 +
Подполе <tt>^U</tt> также содержит ''путь к текстовому файлу'' и ''номер страницы'', и игнорируется при [[#Интерпретация ссылки|интерпретации ссылки]].
 +
 +
Пример ссылки на 69-ю страницу <tt>pdf</tt>-документа (относительная ссылка на документ):
 +
^B.\FullTexts\pdf\ТЕХНИЧЕСКАЯ ДОКУМЕНТАЦИЯ__0069.pdf^CC:\irbisFT-2010-02-15\IRBIS64\Datai\TEST-PDF\FullTexts\pdf\ТЕХНИЧЕСКАЯ ДОКУМЕНТАЦИЯ.pdf
 +
 +
Пример ссылки на 1-ю страницу <tt>pdf</tt>-документа (абсолютная ссылка на документ):
 +
^B\\ComputerName\SharedFolder\FullTexts\pdf\ТЕХНИЧЕСКАЯ ДОКУМЕНТАЦИЯ__0001.pdf^C\\ComputerName\SharedFolder\FullTexts\pdf\ТЕХНИЧЕСКАЯ ДОКУМЕНТАЦИЯ.pdf
 +
 +
:'''Ссылка на текстовый файл в архиве ZIP или RAR'''
 +
 +
Объект полнотекстового поиска: текстовый файл.
 +
 +
Доступ: на файловой системе, в архиве ZIP или RAR.
 +
 +
Элементы ссылки: ''путь к файлу архива'', ''путь к файлу внутри архива''.
 +
 +
Подполе <tt>^B</tt> конструируется следующим образом:<br>
 +
<tt><путь к файлу архива> + <путь к файлу внутри архива></tt><br>
 +
где:
 +
* <tt><путь к файлу архива></tt> – относительный или абсолютный путь к файлу архива, без имени архива (записывается с использованием символа <tt>"\"</tt> – обратный слэш, и завершается данным символом);
 +
* <tt><путь к файлу внутри архива></tt> – путь к файлу внутри архива, включая имя текстового файла (записывается с использованием символа <tt>"/"</tt> – прямой слэш).
 +
 +
Подполе <tt>^C</tt> представляет собой: АБСОЛЮТНЫЙ полный путь к архиву (путь и имя). По историческим причинам в данном подполе хранится АБСОЛЮТНЫЙ путь даже в том случае, если ссылка является относительной. ''Примечание: хранение пути к архиву в подполях <tt>^B</tt> и <tt>^C</tt> представляет собой факт наличия избыточной информации; более того, АБСОЛЮТНЫЙ путь в относительной ссылке представляет собой не только избыточную, но также и потенциально недостоверную информацию, которая не должна использоваться (данная информация игнорируется при [[#Интерпретация ссылки|интерпретации ссылки]]).''
 +
 +
Подполе ^U конструируется следующим образом: <''путь к файлу архива''> + ":" + <''путь к файлу внутри архива''>, и игнорируется при [[#Интерпретация ссылки|интерпретации ссылки]].
 +
 +
''Примечание: Одновременно с введением подполя <tt>^U</tt> изменилась логика формирования подполя <tt>^B</tt>. С этого момента в подполе <tt>^B</tt> используются только символы <tt>\</tt> и НЕ используются символы <tt>/</tt>. Следствием стало то, что в версиях 2010.1, 2011.1 и 2012.1 присутствует ошибка при интерпретации относительной ссылки, которая может проявляться случае перемещения базы данных. В такой ситуации проблема может быть решена при помощи глобальной корректировки: чтобы ошибка не проявлялась, в подполе <tt>^C</tt> должен присутствовать полный путь к архиву. Именно для устранения данной ошибки в версии 2013.1 при разборе ссылки по возможности используется подполе <tt>^U</tt>.''
 +
 +
Пример:
 +
^B\\ComputerName\SharedFolder\FullTexts\rar\ТЕХНИЧЕСКАЯ ДОКУМЕНТАЦИЯ.pdf^C\\ComputerName\SharedFolder\FullTexts\rar\ИРБИС_документация.rar
 +
 +
:'''Ссылка на файл, ассоциированный с текстом-"''подложкой''"'''
 +
 +
Объект полнотекстового поиска: файл, ассоциированный с текстом-"''подложкой''".
 +
 +
Доступ: на файловой системе.
 +
 +
Элементы ссылки: ''путь к текстовому файлу'', ''имя файла с текстом-"подложкой"''. Первый текстовый файл используется для показа пользователю, а индексированию подлежит текст из ''"подложки"''.
 +
 +
Подполя: <tt>^B^T^U</tt>. Подполе <tt>^B</tt> содержит ''путь к текстовому файлу'' (подполе <tt>^U</tt> также содержит данный путь). Подполе <tt>^T</tt> содержит ''имя файла с текстом-"подложкой"''.
 +
 +
Пример:
 +
^B\\127.0.0.1\FullTexts\!test cases\pdf\external text layer\1.pdf^T1.pdf.txt^Uuri:irbis:\\127.0.0.1\FullTexts\!test cases\pdf\external text layer\1.pdf
 +
 +
:'''Ссылка на текстовый файл, доступный по URL'''
 +
 +
Объект полнотекстового поиска: текстовый файл.
 +
 +
Доступ: по URL.
 +
 +
Элементы ссылки: ''URL''.
 +
 +
Подполя: <tt>^B^I</tt>. Подполе <tt>^I</tt> содержит URL. Подполе <tt>^B</tt> содержит дополнительную информацию.
 +
 +
Пример:
 +
<nowiki>^Ihttp://www.sweden.se/ru/Start/Education/^Bindex.html : http://www.sweden.se/ru/Start/Education/</nowiki>
 +
 +
====Устаревшие элементы структуры====
 +
 +
Подполе <tt>^А</tt> – имя файла полного текста. Данное подполе используется только для хранения ссылок на полнотекстовые документов в архиве с именем базы данных и расширением <tt>.izp</tt>, находящемся в папке базы данных. Начиная с версии [[Отличия ИРБИС 2010.1 от предыдущей версии|2010.1]] данный вид ссылок не поддерживается.
 +
 +
Пример ссылки на документ в архиве <tt>.izp</tt>:
 +
^AТехническая документация для WEB ИРБИС64 и WEB ИРБИС32.doc
 +
 +
===Интерпретация ссылки===
 +
 +
При необходимости доступа к файлу полного текста (при индексации, отображении на экране) [[#Элементы ссылки|элементы ссылки]] интерпретируются в соответствии с определёнными правилами, которые описаны ниже.
 +
 +
'''Ссылка на текстовый файл, доступный по URL'''
 +
 +
Если заполнено подполе <tt>^I</tt>, то интерпретируем данную ссылку как ''ссылку на текстовый файл, доступный по URL''. Содержимое подполя <tt>^I</tt> является ''URL'' (HTTP или FTP).
 +
 +
Объект полнотекстового поиска – файл, доступный по указанному URL.
 +
 +
''Примечание: при использовании HTTP-ссылок формат файла определяется по заголовку HTTP, во всех остальных случаях – по расширению файла.''
 +
 +
'''Объект полнотекстового поиска находится на файловой системе'''
 +
 +
Иначе полагаем, что объект полнотекстового поиска находится на файловой системе.
 +
 +
'''Объект полнотекстового поиска – текстовый файл, находящийся непосредственно на файловой системе'''
 +
 +
Если подполе <tt>^C</tt> не заполнено, то считается, что в подполе <tt>^B</tt> хранится ''путь к текстовому файлу'' (относительный или абсолютный), и данный файл является объектом полнотекстового поиска.
 +
 +
'''Файл, ассоциированный с текстом-"''подложкой''"'''
 +
 +
Если при этом заполнено подполе <tt>^T</tt>, то объект полнотекстового поиска – ''файл, ассоциированный с текстом-"подложкой"''.
 +
 +
Первый текстовый файл используется для показа пользователю, а индексированию подлежит текст из ''"подложки"''.
 +
 +
Подполе <tt>^T</tt> содержит имя файла с текстом-''"подложкой"''. Местонахождение файла ''подложки'' соответствует местонахождению основного файла.
 +
 +
'''Отдельная страница многостраничного документа или текстовый файл в архиве'''
 +
 +
Если подполе <tt>^C</tt> заполнено, то объект полнотекстового поиска не доступен непосредственно, и является:
 +
* отдельной страницей многостраничного файла (<tt>.pdf</tt> или <tt>.djvu</tt>) или
 +
* текстом в архиве (<tt>.zip</tt> или <tt>.rar</tt>).
 +
 +
В этих случаях для доступа к объекту полнотекстового поиска необходимо соответственно:
 +
* извлечь страницу из исходного многостраничного файла (или из кеша извлечённых страниц), либо
 +
* извлечь текст из архива.
 +
 +
Необходимая для извлечения дополнительная информация содержится в подполях <tt>^B</tt> и <tt>^C</tt>.
 +
 +
'''Отдельная страница многостраничного документа'''
 +
 +
Если расширение файла в подполе <tt>^C</tt> – <tt>.pdf</tt> или <tt>.djvu</tt>, то объектом полнотекстового поиска является ''отдельная страница многостраничного документа''.
 +
 +
''Путь к текстовому файлу'' (полный, включая имя файла) можно получить следующим образом: из подполя <tt>^B</tt> взять ''путь к файлу'', а из подполя <tt>^C</tt> взять ''имя файла''.
 +
 +
''Номер страницы'' можно получить из подполя <tt>^B</tt>, которое, как описано [[#Составление ссылки|в подразделе ''Составление ссылки'']], составляется следующим образом:<br>
 +
<tt><путь к файлу (без имени файла)> + <имя файла (без расширения)> + <суффикс> + <номер страницы> + <расширение файла></tt>
 +
 +
'''Текстовый файл в архиве'''
 +
 +
Если в подполе <tt>^C</tt> ''расширение файла'' <tt>.zip</tt> или <tt>.rar</tt>, то объектом полнотекстового поиска является текстовый файл, находящийся в архиве.
 +
 +
НЕ допускаются ссылки на отдельные страницы многостраничного документа, находящегося в архиве.
 +
 +
Начиная с версии 2013.1 по возможности при интерпретации используется подполе <tt>^U</tt>, иначе подполя <tt>^B^C</tt>.
 +
 +
Получение ''пути к файлу архива'' и ''пути к файлу внутри архива'' из подполя <tt>^U</tt> очевидно исходя из его описания [[#Составление ссылки|в подразделе ''Составление ссылки'']].
 +
 +
Подполя <tt>^B^C</tt> для получения ''пути к файлу архива'' и ''пути к файлу внутри архива'' используются следующим образом:
 +
* Подполе <tt>^B</tt> разбирается в соответствии со следующими правилами: с последним вхождением символа <tt>\</tt> (обратный слэш) заканчивается путь к архиву, дальше начинается относительный путь внутри архива; путь внутри архива записывается с использованием символа <tt>/</tt> (прямой слэш).
 +
* Подполе <tt>^C</tt> содержит имя файла архива. Примечание: данное подполе также содержит также полный путь к архиву, что является, как минимум, избыточной информацией, а в случае использования относительных путей, также и недостоверной информацией.
  
 
==Метаданные, связанные с объектом полнотекстового поиска==
 
==Метаданные, связанные с объектом полнотекстового поиска==

Версия 17:59, 19 декабря 2013

Структура полнотекстовых баз данных ИРБИС основывается на модели баз данных ИРБИС 64.

Каждой записи базы данных соответствует объект полнотекстового поиска.

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

  • ссылка на объект полнотекстового поиска,
  • метаданные, связанные с объектом полнотекстового поиска,
  • некоторые технологические данные.

Ссылка на объект полнотекстового поиска

Соответствие записи базы данных и объекта полнотекстового поиска устанавливается при помощи специальных ссылок.

Ссылка на текст представляет собой структуру, предназначенную для хранения информации, достаточной для обеспечения доступа к объекту полнотекстового поиска.

Поле для хранения ссылки

Метка поля, используемого для хранения ссылки, задаётся в параметре Full_Text_Name конфигурационных файлов АРМ Администратор полнотекстовых БД и АРМ Читатель для полнотекстовых БД (описание параметра см. в статье Конфигурационные параметры ИРБИС для полнотекстовых БД).

По умолчанию, для хранения ссылки используется метка поля 952.

Данное поле не повторяющееся.

Поле доступно на рабочем листе Технологическая в АРМ Каталогизатор.

Виды ссылок на полные тексты

Ссылки на тексты из внешних файлов различаются в зависимости от объекта полнотекстового поиска и особенностей доступа.

Виды ссылок по способу доступа к объектам полнотекстового поиска:

  • Объект полнотекстового поиска находится на файловой системе.
  • Текстовый файл доступен по URL (HTTP или FTP).

Виды ссылок по размещению объектов полнотекстового поиска на файловой системе:

  • Текстовый файл на файловой системе.
  • Текстовый файл в архиве ZIP или RAR.

Виды ссылок в зависимости от объекта полнотекстового поиска (только в случае размещения текстового файла непосредственно на файловой системе):

  • Текстовый файл.
  • Страница многостраничного документа PDF или DJVU.
  • Файл с текстовой "подложкой".

При нахождении текстового файла непосредственно на файловой системе ссылки различают по способу адресации:

  • относительные – в ссылке используется относительный путь (начинается с точки, например .\texts\irbis64_2008.doc);
  • абсолютные – в ссылке используется полный путь, включающий имя компьютера, в формате UNC (например, \\ComputerName\SharedFolder\Resource.pdf).

Относительный путь указывает местоположение файла относительно пути, указанного в 11-й строке .par-файла, по умолчанию – это папка базы данных.

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

Примечание: до введения в ИРБИС 2011.1 соответствующего запрета в АРМ Администратор было возможно введение абсолютных ссылок, начинающихся с имени диска.

Примечание: 11-я строка .par-файла появилась начиная с версии 2012.1, в более ранних версиях относительный путь указывает местоположение файла относительно папки базы данных.

Элементы ссылки

Ссылка на объект полнотекстового поиска в общем случае содержит следующие структурные элементы:

  • URL
  • Путь к текстовому файлу
  • Номер страницы
  • Путь к файлу архива
  • Путь к файлу внутри архива
  • Имя файла с текстом-"подложкой"
  • Полный путь для относительной ссылки (является избыточным и поддерживается по историческим причинам)

В зависимости от вида ссылка содержит те или иные элементы.

Структура, используемая для хранения ссылки в базе данных

Структура, используемая для хранения ссылки в базе данных представляет собой совокупность подполей ^B^C^I^T^U:

  • B – в зависимости от вида ссылки это относительный, полный или виртуальный путь к файлу полного текста, или же некоторые данные, дополняющие гиперссылку. Относительный путь используется для полнотекстовых документов, хранящихся в папке базы данных (относительный путь начинается с точки). Полные пути используются для ссылок на полнотекстовые документы, находящиеся вне папки базы данных. Виртуальные пути к текстовым документам используются для ссылок на полнотекстовые документы, хранящиеся в архивах .zip и .rar, а также в случае ссылок на отдельные страницы многостраничных документов .pdf и .djvu. Виртуальная ссылка, хранящаяся в этом подполе, позволяет узнать имя файла внутри архива или номер страницы многостраничного документа, но не имя файла архива или многостраничного документа.
  • C – полный путь к файлу zip/rar/pdf/djvu. Данное подполе используется для ссылок на полнотекстовые документы в архиве или отдельные страницы многостраничного документа.
  • I – URL текста, перенесённого из электронного каталога.
  • T – ссылка на файл подложки. Представляет собой имя текстового файла, подразумевается, что местонахождение файла подложки соответствует местонахождению полнотекстового документа.
  • U – введено для технологических целей в версии 2010.1. Подполе ^U было задумано как универсальная замена подполям ^B^C^I с возможностью расширения, однако было признано неудобным с точки зрения его разбора средствами языка форматирования. Как следствие, подполе ^U остаётся вспомогательным, и используется наряду с другими подполями.

Подполе ^U всегда начинается с префикса

uri:irbis:

Дальнейшее содержимое зависит от объекта полнотекстового поиска.

Примечание: особенность ссылок на отдельную страницу многостраничного документа (то же касается и текстов в архиве) в том, что относительные или абсолютные ссылки отличаются подполем ^B, а в подполе ^C в обоих случаях хранится абсолютный путь (который не используется). Эта избыточность сложилась исторически. Избыточность стала причиной ошибки, которая была исправлена в версии 2011.1 (см. ошибочное использование абсолютного пути из подполя ^C в случае относительных ссылок с разбиением на страницы).

Составление ссылки

Ниже приведены примеры составления ссылки в зависимости от объекта полнотекстового поиска и особенностей доступа.

Ссылка на текстовый файл

Объект полнотекстового поиска: текстовый файл.

Доступ: на файловой системе.

Элементы ссылки: путь к текстовому файлу.

Пример относительной ссылки на текстовый файл:

^B.\texts\irbis64_2008.doc

Пример абсолютной ссылки на текстовый файл:

^B\\ComputerName\SharedFolder\FullTexts\doc\ИРБИС_документация\ТЕХНИЧЕСКАЯ ДОКУМЕНТАЦИЯ.doc
Ссылка на отдельную страницу многостраничного документа

Объект полнотекстового поиска: отдельная страница многостраничного документа (формата PDF или DJVU).

Доступ: на файловой системе.

Элементы ссылки: путь к текстовому файлу, номер страницы.

Подполя: ^B^C^U.

Подполе ^B конструируется следующим образом:
<путь к файлу (без имени файла)> + <имя файла (без расширения)> + <суффикс> + <номер страницы> + <расширение файла>
где:

  • <путь к файлу (без имени файла)> – путь (относительный или абсолютный) к исходному многостраничному документу, без имени файла;
  • <имя файла (без расширения)> – имя файла исходного многостраничного документа без расширения;
  • <суффикс> – последовательность символов, которая отделяет имя файла от номера страницы (по умолчанию два знака подчёркивания __, вообще определяется конфигурационным параметром FULL_TEXT_FileNamePrefixDiv);
  • <номер страницы> – номер страницы, дополненный лидирующими нулями до 4 символов;
  • <расширение файла> – расширение исходного многостраничного документа .pdf или .djvu.

Подполе ^C представляет собой: АБСОЛЮТНЫЙ путь к файлу и имя исходного многостраничного файла. По историческим причинам в данном подполе хранится АБСОЛЮТНЫЙ путь даже в том случае, если ссылка является относительной. Примечание: хранение пути к файлу в подполях ^B и ^C представляет собой факт наличия избыточной информации; более того, АБСОЛЮТНЫЙ путь в относительной ссылке представляет собой не только избыточную, но также и потенциально недостоверную информацию, которая не должна использоваться (данная информация игнорируется при интерпретации ссылки).

Подполе ^U также содержит путь к текстовому файлу и номер страницы, и игнорируется при интерпретации ссылки.

Пример ссылки на 69-ю страницу pdf-документа (относительная ссылка на документ):

^B.\FullTexts\pdf\ТЕХНИЧЕСКАЯ ДОКУМЕНТАЦИЯ__0069.pdf^CC:\irbisFT-2010-02-15\IRBIS64\Datai\TEST-PDF\FullTexts\pdf\ТЕХНИЧЕСКАЯ ДОКУМЕНТАЦИЯ.pdf

Пример ссылки на 1-ю страницу pdf-документа (абсолютная ссылка на документ):

^B\\ComputerName\SharedFolder\FullTexts\pdf\ТЕХНИЧЕСКАЯ ДОКУМЕНТАЦИЯ__0001.pdf^C\\ComputerName\SharedFolder\FullTexts\pdf\ТЕХНИЧЕСКАЯ ДОКУМЕНТАЦИЯ.pdf
Ссылка на текстовый файл в архиве ZIP или RAR

Объект полнотекстового поиска: текстовый файл.

Доступ: на файловой системе, в архиве ZIP или RAR.

Элементы ссылки: путь к файлу архива, путь к файлу внутри архива.

Подполе ^B конструируется следующим образом:
<путь к файлу архива> + <путь к файлу внутри архива>
где:

  • <путь к файлу архива> – относительный или абсолютный путь к файлу архива, без имени архива (записывается с использованием символа "\" – обратный слэш, и завершается данным символом);
  • <путь к файлу внутри архива> – путь к файлу внутри архива, включая имя текстового файла (записывается с использованием символа "/" – прямой слэш).

Подполе ^C представляет собой: АБСОЛЮТНЫЙ полный путь к архиву (путь и имя). По историческим причинам в данном подполе хранится АБСОЛЮТНЫЙ путь даже в том случае, если ссылка является относительной. Примечание: хранение пути к архиву в подполях ^B и ^C представляет собой факт наличия избыточной информации; более того, АБСОЛЮТНЫЙ путь в относительной ссылке представляет собой не только избыточную, но также и потенциально недостоверную информацию, которая не должна использоваться (данная информация игнорируется при интерпретации ссылки).

Подполе ^U конструируется следующим образом: <путь к файлу архива> + ":" + <путь к файлу внутри архива>, и игнорируется при интерпретации ссылки.

Примечание: Одновременно с введением подполя ^U изменилась логика формирования подполя ^B. С этого момента в подполе ^B используются только символы \ и НЕ используются символы /. Следствием стало то, что в версиях 2010.1, 2011.1 и 2012.1 присутствует ошибка при интерпретации относительной ссылки, которая может проявляться случае перемещения базы данных. В такой ситуации проблема может быть решена при помощи глобальной корректировки: чтобы ошибка не проявлялась, в подполе ^C должен присутствовать полный путь к архиву. Именно для устранения данной ошибки в версии 2013.1 при разборе ссылки по возможности используется подполе ^U.

Пример:

^B\\ComputerName\SharedFolder\FullTexts\rar\ТЕХНИЧЕСКАЯ ДОКУМЕНТАЦИЯ.pdf^C\\ComputerName\SharedFolder\FullTexts\rar\ИРБИС_документация.rar
Ссылка на файл, ассоциированный с текстом-"подложкой"

Объект полнотекстового поиска: файл, ассоциированный с текстом-"подложкой".

Доступ: на файловой системе.

Элементы ссылки: путь к текстовому файлу, имя файла с текстом-"подложкой". Первый текстовый файл используется для показа пользователю, а индексированию подлежит текст из "подложки".

Подполя: ^B^T^U. Подполе ^B содержит путь к текстовому файлу (подполе ^U также содержит данный путь). Подполе ^T содержит имя файла с текстом-"подложкой".

Пример:

^B\\127.0.0.1\FullTexts\!test cases\pdf\external text layer\1.pdf^T1.pdf.txt^Uuri:irbis:\\127.0.0.1\FullTexts\!test cases\pdf\external text layer\1.pdf
Ссылка на текстовый файл, доступный по URL

Объект полнотекстового поиска: текстовый файл.

Доступ: по URL.

Элементы ссылки: URL.

Подполя: ^B^I. Подполе ^I содержит URL. Подполе ^B содержит дополнительную информацию.

Пример:

^Ihttp://www.sweden.se/ru/Start/Education/^Bindex.html : http://www.sweden.se/ru/Start/Education/

Устаревшие элементы структуры

Подполе – имя файла полного текста. Данное подполе используется только для хранения ссылок на полнотекстовые документов в архиве с именем базы данных и расширением .izp, находящемся в папке базы данных. Начиная с версии 2010.1 данный вид ссылок не поддерживается.

Пример ссылки на документ в архиве .izp:

^AТехническая документация для WEB ИРБИС64 и WEB ИРБИС32.doc

Интерпретация ссылки

При необходимости доступа к файлу полного текста (при индексации, отображении на экране) элементы ссылки интерпретируются в соответствии с определёнными правилами, которые описаны ниже.

Ссылка на текстовый файл, доступный по URL

Если заполнено подполе ^I, то интерпретируем данную ссылку как ссылку на текстовый файл, доступный по URL. Содержимое подполя ^I является URL (HTTP или FTP).

Объект полнотекстового поиска – файл, доступный по указанному URL.

Примечание: при использовании HTTP-ссылок формат файла определяется по заголовку HTTP, во всех остальных случаях – по расширению файла.

Объект полнотекстового поиска находится на файловой системе

Иначе полагаем, что объект полнотекстового поиска находится на файловой системе.

Объект полнотекстового поиска – текстовый файл, находящийся непосредственно на файловой системе

Если подполе ^C не заполнено, то считается, что в подполе ^B хранится путь к текстовому файлу (относительный или абсолютный), и данный файл является объектом полнотекстового поиска.

Файл, ассоциированный с текстом-"подложкой"

Если при этом заполнено подполе ^T, то объект полнотекстового поиска – файл, ассоциированный с текстом-"подложкой".

Первый текстовый файл используется для показа пользователю, а индексированию подлежит текст из "подложки".

Подполе ^T содержит имя файла с текстом-"подложкой". Местонахождение файла подложки соответствует местонахождению основного файла.

Отдельная страница многостраничного документа или текстовый файл в архиве

Если подполе ^C заполнено, то объект полнотекстового поиска не доступен непосредственно, и является:

  • отдельной страницей многостраничного файла (.pdf или .djvu) или
  • текстом в архиве (.zip или .rar).

В этих случаях для доступа к объекту полнотекстового поиска необходимо соответственно:

  • извлечь страницу из исходного многостраничного файла (или из кеша извлечённых страниц), либо
  • извлечь текст из архива.

Необходимая для извлечения дополнительная информация содержится в подполях ^B и ^C.

Отдельная страница многостраничного документа

Если расширение файла в подполе ^C.pdf или .djvu, то объектом полнотекстового поиска является отдельная страница многостраничного документа.

Путь к текстовому файлу (полный, включая имя файла) можно получить следующим образом: из подполя ^B взять путь к файлу, а из подполя ^C взять имя файла.

Номер страницы можно получить из подполя ^B, которое, как описано в подразделе Составление ссылки, составляется следующим образом:
<путь к файлу (без имени файла)> + <имя файла (без расширения)> + <суффикс> + <номер страницы> + <расширение файла>

Текстовый файл в архиве

Если в подполе ^C расширение файла .zip или .rar, то объектом полнотекстового поиска является текстовый файл, находящийся в архиве.

НЕ допускаются ссылки на отдельные страницы многостраничного документа, находящегося в архиве.

Начиная с версии 2013.1 по возможности при интерпретации используется подполе ^U, иначе подполя ^B^C.

Получение пути к файлу архива и пути к файлу внутри архива из подполя ^U очевидно исходя из его описания в подразделе Составление ссылки.

Подполя ^B^C для получения пути к файлу архива и пути к файлу внутри архива используются следующим образом:

  • Подполе ^B разбирается в соответствии со следующими правилами: с последним вхождением символа \ (обратный слэш) заканчивается путь к архиву, дальше начинается относительный путь внутри архива; путь внутри архива записывается с использованием символа / (прямой слэш).
  • Подполе ^C содержит имя файла архива. Примечание: данное подполе также содержит также полный путь к архиву, что является, как минимум, избыточной информацией, а в случае использования относительных путей, также и недостоверной информацией.

Метаданные, связанные с объектом полнотекстового поиска

С объектом полнотекстового поиска могут быть связаны метаданные в формате Dublin Core.

Метаданные Dublin Core хранятся в полнотекстовой базе данных ИРБИС 64 в соответствии со следующей схемой:

Метка поля Элемент метаданных
1 Title — название
2 Creator — создатель
3 Subject — тема
4 Description — описание
5 Publisher — издатель
6 Contributor — внёсший вклад
7 Date — дата
8 Type — тип
9 Format — формат документа
10 Identifier — идентификатор
11 Source — источник
12 Language — язык
13 Relation — отношения
14 Coverage — покрытие
15 Rights — авторские права

Технологические данные

Метка поля Элемент метаданных
20 Число слов в тексте
21 Индекс естественно-тематического классификатора
22 Первые строки полного текста
23 Комментарий
24 Дата ввода записи в базу данных
25 Размер файла полного текста в байтах
26 Дата создания полного текста в байтах
951 Исходные данные из ЭК
66 Данные о переносе записи из ЭК

Ссылки

См. также: