9. ISISINV - Программа работы с инвертированным файлом

The UNESCO micro CDS/ISIS Software

Программа ISISINV выполняет различные операции на инвертированном файле. Она позволяет создавать (опция F), изменять (опция U), создавать резервную копию (опция В), восстанавливать (опция С) или печатать (опция Р и D) инвертированный файл.

Заметим, что все опции ISISINV применяются для текущей базы данных, если таковая имеется. Если БД, с которой вы хотите работать, отличается от одной из выбранных, используйте опцию C из меню xXISI для переключения нa требуемую базу данных. Если ничего не выбрано, CDS/ISIS попросит вас выбрать базу перед тем как вывести на экран меню xXG1 (см. раздел 5.1. "С - Смена базы данных").

9.1. Меню xXG1

На рис. 50 представлены опции, отображенные через меню xXG1

Рис. 50. Меню EXG1: Средства инвертирования файла

B - создание резервной копии инвертированного файла.

Эта опция превращает инвертированный файл в файл связей (смотри ниже опцию F), который вы в последствии можете использовать при перезагрузке инвертированного файла, используя опцию С. Заметим, что термины без пометок, т. е. те которые не есть поисковыми, удаляются во время операции сохранения. CDS/ISIS будет показывать на экране термины, которые удаляются, если таковые имеются. Для того, чтобы удалять термины без пометок из инвертированного файла, файл связей должен быть обновлен. Для этого используют опцию С сразу же после сохранения. Это обеспечит, также, реорганизацию и уплотнение инвертированного файла и уничтожение всего неиспользованного пространства, которое может появляться при изменениях до последней реорганизации.

В зависимости от размера инвертированного файла, выполнение этой опции может длиться некоторое время. Когда создание резервной копии завершается, CDS/ISIS выведет следующие сообщения:

Сообщения. Подсказка 235

(где nt - число терминов в словаре, np- суммарное число помеченных терминов для всех терминов в словаре. Отношение np/nt дает среднее число помеченных терминов).

Нажатие клавиши CR возвращает в меню xXG1 или можно не- посредственно выбрать любую имеющуюся опцию меню xXG1 (X возвращает в главное меню xXISI).

С - загрузка инвертированного файла

Эта опция создает инвертированный файл из файла связей (смотри опцию F ниже).

Ее можно использовать после опции S - завершить генерацию инвертированного файла, или после опции B востановление (и, следовательно, реорганизация) инвертированного файла. Когда используется эта опция для восстановления Инвертированного файла из созданной резервной копии опции В, вы должны убедиться, что не было сделано никаких изменений в главном (мастер) файле с тех пор, как был сохранен инвертированный файл.

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

В зависимости от размера инвертированного файла, выполнение этой опции может длиться некоторое время. Когда создание резервной копии завершается, CDS/ISIS выведет следующие сообщения:

Сообщения. Подсказка 246

(где nt- число терминов в словаре, np- суммарное число помеченных терминов для всех терминов в словаре. Отношение np/nt дает среднее число помеченных терминов).

Нажатие клавиши CR возвращает в меню xXG1 или можно непосредственно выбрать любую имеющуюся опцию меню xXG1 (X возвращает в главное меню xXG1).

D - Печать дампа инвертированного файла

Эта опция создает полную распечатку инвертированного файла, который включает как термины поиска, так и соответствующий список указателей для каждого термина.

Распечатка не отправляется прямо на печать, а хранится на диске в файле с именем IFLIST.LST, который вы можете распечатать позже, когда вам будет удобно. Заметим, что для больших баз данных, эта распечатка может быть обьемистой и занимать соответственно много времени. Вы должны поэтому использовать эту опцию с осторожностью.

Очень хорошие распечатки, дающие только словарь терминов, могут быть получены, если использовать опцию Р.

На рис. 51 показан фрагмент распечатки, где использована эта опция.

Рис. 51. Пример дампа инвертированного файла

Каждый термин описан двумя числами: первое - простая последовательность терминов, второе - частота встречаемости термина в базе данных. Под каждым термином, CDS/ISIS распечатывает все вхождения термина.

Показан также относительный адрес в файле IFP, где размещен список пометок. Например, пятый термин в списке есть ADULT и он встречается 4 раза. Список пометок начинается в 3 блоке ответвления 187(3/187) в файле IFT. Каждая пометка дает MFN записи, в которой термин встречается, идентификатор поля, количество встречаний и последовательный номер термина в поле, из которого он был выделен. Например, первая пометка распечатанная для ADULT есть 85/24/1/4, что значит, что ADULT встречается в записи 85, поле 24, встречается 1 раз и что ADULT есть 4-е слово в этом поле. Полное рассмотрение этой темы см. в разделе 3.4.2. "ТВП для инвертированного файла".

Когда списки закончатся, CDS/ISIS выведет следующее сообщение:

Подсказка 233: Сброс инвертированного файла завершен----->

Нажатие клавиши CR возвращает в меню xXG1, где необходимо выбрать любую опцию меню xXG1 (X возвращает в главное меню xXISI).

F - Создать заново инвертированный файл .

Эта опция генерирует инвертированный файл данной базы данных.

Обычно вы не будете использовать эту опцию, в ней нет надобности.

На самом деле CDS/ISIS снабжен функцией обновления инвертированного файла, которая работает намного быстрее чем восстановление всего инвертированного файла каждый раз, когда вы модифицируете или прибавляете записи в базе данных (смотри опцию U ниже).

Однако, если вы хотите изменить содержимое инвертированного файла, т. е. если вы измените ТВП, тогда вы должны заново создать инвертированный файл. Это необходимо, чтобы не внести противоречия в вашу базу данных, поскольку записи, добавляемые или модифицированные после изменения ТВП, будут инвертированы по другому, в отличии от созданных перед изменениями.

Заметим однако, что существуют некоторые случаи, которые не требуют полного инвертирования даже если ТВП изменена. Предположим, например, что вы решили добавить новое поле в вашей базе данных. Это требует изменить ТОП и может требовать изменить ТВП, если вы также хотите чтобы новое поле было поисковым. Никакие из записей в базе данных не содержат это поле, поэтому полная инверсия в этом случае не нужна, имейте в виду конечно, что вы меняете ТВП перед модификацией или добавляете данные к любой записи, содержащей новое поле.

Процесс генерации инвертированного файла состоит из трех шагов:

  1. создание файла связей;
  2. ортировка файла связей;
  3. загрузка отсортированного файла связей в инвертированный файл.

Файл связей содержит всю необходимую информацию для генерации инвертированного файла и создается согласно ТВП инвертированного файла для определенной базы данных. Он содержит одну запись для каждой пары, поисковый термин/помеченный описанный в инвертированном файле. Для эффективности, на самом деле создаются два файла связей: один, содержащий термины длиной до 10 символов и один, содержащий термины длиной более чем 10 символов.

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

Третий шаг может быть выполнен один раз, используя опции G, S и С в указанном порядке. Эта возможность используется для больших баз данных, где полная генерация инвертированного файла может требовать много времени и значительного пространства на диске. Заметим, что в этом случае вы не должны делать изменения в главном файле (сложение, модификация или удаление любой записи) до тех пор, пока не будет выполнен последний шаг.

Вы должны знать, что CDS/ISIS автоматически не удаляет файлы связей (LN1, LN2, LK1 и LK2). Вы можете удалить их вручную в любое время, после того как завершится генерация инвертированного файла или, если вы предпочитаете генерировать инвертированный файл по трем шагам, то вы можете удалить несортированные файлы связей (LN1 И LN2) после выполнения опции S и перед выполнением опции С.

Перед началом генерации, CDS/ISIS подскажет вам, как ввести диапазон MFN которые будут инвертироваться:

Подсказка 247: Границы MFN?

Обычный ответ на эту подсказку есть CR, тогда будет инвертироваться вся база данных. Если вы ввели актуальный диапазон, например 1/10, то тогда только эти указанные записи будут инвертироваными и следовательно поисковыми. Вы можете использовать эту особенность при тестировании вашей ТВП инвертированного файла.

CDS/ISIS будет информировать вас о шаге, который она выполняет, путем вывода соответствующих информационных сообщений на экран.

G - Генерировать файл актуализации

Эта опция генерирует файл связей как показано в опции F ранее. Во- первых, вы должны ввести диапазон MFN которые будут инвертированы:

Подсказка 247: Границы MFN?

Обычный ответ на эту подсказку есть CR, тогда будет инвертироваться вся база данных. Если вы ввели актуальный диапазон, например 1/10, то тогда только эти указанные записи будут инвертированными. Эта возможность реализована для цели тестирования ТВП инвертированного файла, посредством чего вы можете переставлять порции главного файла для того, чтобы наглядно проверить результирующие файлы связей, чтобы определить какие из генерированных терминов поиска правильны.

Для нормального использования этой опции, вы, однако, должны всегда набирать .

CDS/ISIS затем отобразит ТВП его использование для перестановки и выдаст следующее информационное сообщение:

Сообщения. Подсказка 244

(где ns-число терминов длинною до 10 символов, nl-число терминов длинной более чем 10 символов).

Нажатие клавиши CR возвращает в меню xXG1, где можно выбрать любую действительную опцию xXG1 (X возвращает в главное меню xXISI).

L - Сменить язык диалога.

Позволяет вам изменить язык системных меню и сообщений (см. раздел 1.4.2. "Многоязыковый диалог").

Р - Печать словаря терминов доступа.

Эта опция выдает распечатку терминов поискового словаря. Для каждого термина CDS/ISIS отобразит число помеченных терминов.

Заметим, что распечатка не посылается на принтер, а хранится на диске в файле названном IFLIST.LST, который вы можете распечатать в любое удобное вам время.
На рис. 52 дан пример распечатки, выдаваемой этой опцией.

Рис. 52. Пример распечатки словаря

Когда распечатка завершится, CDS/ISIS выдаст следующее.

Подсказка 234: Печать словаря завершена

Нажатие клавиши CR возвращает в меню xXG1, где можно выбрать любую действительную опцию xXG1 (X возвращает в главное меню xXISI).

S - Сортировать файл актуализации

Эта опция сортирует файлы связей созданные опцией G.
Сортированный файл связей может затем быть загружен, используя опцию С.

Пока выполняется эта опция, CDS/ISIS выдает следующие информационные сообщения и подсказки:

Сообщения. Подсказка 245

Сообщение 253 и 254 являются взаимно-исключающими: 253 используется, если соответствующий файл связей пустой, иначе сообщение 254, говорит вам сколько записей (nr) было отсортировано. Сообщение 255 говорит вам, что требуется nl обьединенных уровней. Сообщение 254 и 257 используется только если опция S выполнится непосредственно после опции G (или пока выполнится опция F), так как эта информация действительна только в этом случае. Число обьединенных уровней nl указывает на продолжительность сортировки.

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

Если весь файл может находиться в памяти, тогда сортировка после фазы 0 считается оконченной. Иначе сортированные группы разбиваются на четыре временных рабочих файла и записи обьединяются. В зависимости от количества записей, может быть один или более шагов объединения, названных фазой 1, 2, и т. д., каждый шаг, создающий все большие группы сортированных записей будет выполняться последовательно, пока не будет создана единая группа. Сообщение 259 отображает конец каждого шага слияния. Пока фаза сортировки выполняется, CDS/ISIS отобразит индикатор слияний, отражающий работу загрузки. Этот индикатор состоит из тире (-) и звездочек(*), указывает на группу сортированных записей (под указанной * подразумевают последний сортированный рабочий файл). На каждой из фаз сортировки, количество тире и звездочек уменьшается по мере того, как все больше и больше записей сливается вместе. Сортировка оканчивается, когда четыре или меньше последовательностей остаются для слияния. Вы можете, таким образом, оценить время сортировки, наблюдая за индикатором слияний.

Когда сортировка завершится, нажмите CR для возврата в меню xXG1 или выберите любую опцию xXG1 (X возвращает в главное меню хXISI).

U - Актуализировать инвертированный файл

Эта опция модифицирует инвертированный файл для всех измененных записей файла документов, т. е. когда записи прибавлялись, удалялись или модифицировались после того, как последний раз изменялся инвертированный файл (см. раздел 3.5.5. "Обновление инвертированного файла"). Заметим, что эта опция, в отличие от опции F, не создает файлов связей.

После распечатки ТВП, CDS/ISIS обработает модифицированные записи MFN, и после завершения выдаст слудующее:

Подсказка 249: Актуализация инвертированного файла завершена

Нажатие клавиши CR возвратит в меню xXG1 или выберите любую опцию xXG1 (X возвращает в главное меню xXISI).

Если CDS/ISIS обнаружит любую аномалию на протяжении процесса модификации, он выдаст одно или более сообщений (обьяснены в разделе 3.5.5. "Обновление инвертированного файла").

CDS/ISIS обнаружила аномалию

Возвращает в главное меню CDS/ISIS-xXISI (см. раздел 5.1. "Меню xXISI").