Центральной частью каждой ИПС является информационно-поисковый массив (ИПМ), который может быть организован различными способами. В ДИПС ИПМ подразделяется на две части: сами документы или их копии и ПОД с адресами — номерами документов в поисковом массиве. Поиск осуществляется по второй части ИПМ.
В полнотекстовых базах данных поиск может осуществляться как по самому тексту документа (при такой организации поиск будет очень медленным), так и в специальных поисковых файлах, содержащих информацию о тексте документа (индексах).
В ИПС используют две принципиальные схемы информационного массива — прямую и инверсную.
При прямой организации каждому документу соответствует перечень слов, составляющих текст или поисковый образ документа. Например, логическая структура поискового файла при прямой организации для примера, приведенного в подразделе 20.4, будет выглядеть следующим образом (см. рис. 20.2).
При этом отыскание нужных документов производится путем поочередного сравнения поисковых образов документов со словами, составляющими информационный запрос, т.е. реализуется принцип последовательного доступа к данным. Достоинства прямой схемы состоят в простоте организации и использования, например для включения нового документа в массив достаточно добавить новую запись в файл.
Недостатком прямой организации поиска является необходимость последовательного просмотра ПОД всех документов, что ведет к большим затратам времени, поэтому в современных текстовых базах данных применяют инверсный способ.
Адрес документа |
Ключевые слова |
D1 |
S2, S3 |
D2 |
S1, S3, S5 |
D3 |
S1, S3 |
D4 |
S3, S6 |
D5 |
S3, S4, S5 |
D6 |
S3, S4 |
D7 |
S1, S2, S4, S5 |
D8 |
S1, S3 |
D9 |
S2, S3, S4, S5 |
Рис. 20.2. Прямая схема организации информационного массива
Инверсный способ организации поискового массива предусматривает создание инвертированной матрицы, в которой и происходит поиск (ее называют инвертированным матричным индексом) (см. рис. 20.3).
Слова |
Адреса документов |
S1 |
D2, D3, D7, D8 |
S2 |
D1, D2, D3, D4, D5, D6, D8, D9 |
S3 |
D1, D2, D3, D4, D5, D6, D8, D9 |
S4 |
D5, D6, D7, D8, D9 |
S5 |
D2, D5, D7, D9 |
S6 |
D4 |