Обсуждение:Полнотекстовые базы данных ИРБИС
Предлагаемые изменения в форме записи ссылок на полные тексты в базе данных начиная с версии ИРБИС 2013.1
Предпосылки для изменений в форме записи ссылок на полные тексты
Подполе A утратило актуальность начиная с версии ИРБИС 2010.1.
Судя по всему, подполя B, C устарели. Использование полей B, C затруднено вследствие содержащейся в них избыточной информации и сложной логики их использования. Примеры избыточности: 1) оба подполя содержат путь к файлу в случае использования ссылок на страницу многостраничного документа и на текст в архиве; 2) подполе C содержит полный путь даже в случае относительных ссылок. Теперь несколько примеров, демонстрирующих сложность. Для извлечения номера страницы требуется сопоставить подполя B, C, при этом необходимо осуществить: а) отделение пути к файлу от имени файла, б) отделение имени файла от расширения, в) при окончательном сопоставлении использовать некий параметрируемый разделитель. И при наличии этих неудобств не наблюдается никакого выигрыша. Кроме неудобств использование столь сложного сопоставления чревато ошибками в некоторых исключительных случаях:
- Если тексты включены в базу данных, а позже разделитель изменён, разбор не может быть осуществлён. Ясно, что ограничения всегда существуют. Но данное ограничение выглядит неоправданным.
- Есть два файла: 1.zip с файлом irbis64_2008.doc и 2.zip с файлом texts\irbis64_2008.doc. 1.zip помещён в папке БД в подпапке "texts", 2.zip непосредственно в папке БД.
Ссылки на полные тексты для них будут: ^B.\texts\irbis64_2008.doc^CC:\IRBIS64\Datai\Text\texts\1.zip и ^B.\texts\irbis64_2008.doc^CC:\IRBIS64\Datai\Text\2.zip Вопрос, каким должен быть алгоритм, чтобы разобрать эти два примера? Думаю, слишком сложным, тогда как должен быть тривиальным.
Подполе I не является проблемным, но и не является основным. Его можно оставить, а можно и отказаться от него, как я предлагаю ниже.
Изменения в составе подполей
Более не используются подполя: A, B, C, I.
Также более не используется подполе: U. Предполагалось, что это подполе будет хранить ссылку на полный текст в закодированном виде, и заменит остальные подполя. Практика показала, что хранение ссылки в одном подполе неудачная идея, так как раскодировать составное (закодированное) подполе для извлечения составляющих ссылки средствами языка форматирования неудобно.
Для хранения ссылок предназначаются подполя: P, N, Z.
Подполе T используется как и прежде.
Ссылка на файл полного текста
Составные части ссылки:
- ^P путь к файлу и имя файла (путь относительно БД, полный windows-путь, UNC, URI, или путь внутри zip или rar файла если заполнено подполе ^Z)
- ^N номер страницы в файле
- ^Z путь к контейнеру и имя контейнера (это может быть zip-файл или rar-файл)
^P обязательно для заполнения (иными словами, ссылка на файл полного текста обязательно включает в себя подполе путь к файлу и имя файла ^P).
Подполя ^N и ^Z опциональны и могут использоваться в любой комбинации.