The UNESCO micro CDS/ISIS Software

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

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

9.1. Меню xXG1

     На рис. 50 представлены опции, отображенные через меню xXG1
—————————————————————————————————————————————————————————————————
| Программа ISISINV  Работа с инвертированным файлом Меню ЕХG1  |
|    L - сменить  язык диалога                                  |
|    F - создать заново   инвертированный  файл                 |
|    U - актуализировать инвертированный файл                   |
|    В - копировать инвертированный  файл                       |
|    G - генерировать файла актуализации                        |
|    S - сортировать файл актуализации                          |
|    С - загрузка  инвертированного файла                       |
|    D - печать дамп инвертированного файл                      |
|    Р - печать словаря терминов доступа                        |
|    Х - выход                                                  |
|                              ?_                               |
|  Рис 50: Меню EXG1: Средства инвертирования файла             |
|                                                               |
|                                                               |
—————————————————————————————————————————————————————————————————

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

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

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

     Сообщение 396:     Общее количество терминов: nt
               397:     Общее количество ссылок  : np

     Подсказка 235: Завершение создания резервной копии инверти-
                    рованного файла

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

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

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

     Сообщения 396: Общее количество терминов: nt
               397: Общее количество ссылок: np

     Подсказка 246: Завершение загрузки инвертированного файла

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

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

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

————————————————————————————————————————————————————————————————
| Распечатка инвертированного файла    База данных: CDS        |
|    1   1  ABILITY                                            |
|                 2/35  195/69/1/11                            |
|    2   1  ABSENCE                                            |
|                 2/71  43/24/1/9                              |
|    3   2  ACCOUNTING                                         |
|                 2/161 138/69/1/1                             |
|                       331/69/1/7                             |
|    4   2  ADMISSION                                          |
|                 3/143 124/69/1/8                             |
|                       125/69/1/9                             |
|    5   4  ADULT                                              |
|                 3/187 85/24/1/4                              |
|                 172/24/1/7                                   |
|                 208/24/1/6                                   |
| Рис.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: Генерация несортированного файла связей.

               251: Короткие термины ns
               252: Длинные термины nl

     Подсказка 244: Генерация несортированного файла связей.
                    
(где  ns-число терминов длинною до 10 символов, nl-число терми-
нов длинной более чем 10 символов).

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

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

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

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

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

————————————————————————————————————————————————————————————————
| Распечатка Инвертированного файла      База данных: CDS      |
|                                                              |
|    1   1  ABILITY                                            |
|    2   1  ABSENCE                                            |
|    3   2  ACCOUNTING                                         |
|    4   2  ADMISSION                                          |
|    5   4  ADULT                                              |
|                                                              |
| Рис. 52 Пример распечатки словаря.                           |
————————————————————————————————————————————————————————————————

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

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

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

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

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

     Сообщение 251: Короткие термины
               253: Входной  файл сортировки пустой или не су-
                    ществует
               254: Количество записей nr
               255: Количество уровней слияния nl
               256:       (только внутренняя сортировка)
               257:       (после внутренней сортировки)
               259: Конец фазы сортировки np

               252: Длинные термины
               253: Входной файл сортировки пустой или  не  су-
                    ществует
               254: Количество  записей nr
               254: Количество уровней слияния nl
               256:        (только внутренняя сортировка)
               257:        (после внутренней сортировки)
               259: Конец фазы сортировки np

     Подсказка 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. "Обновление инвертированного файла").

     Сообщение 391:  Внимание!  Ссылка не найдена.  Нельзя
                     удалить.

               392: Внимание ! Повторная ссылка.

               393: Системная ошибка. В файле документов ошибка
                    несоответствия. Восстановите последнее зна-
                    чение  и  перегенерируйте   инвертированный
                    файл.

       X-Выход.

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

[К оглавлению]