в первую очередь как система
СУБД Oracle известна в первую очередь как система управления «фактографическими» данными, но с первой половины 90-х годов в ней стали появляться возможности хранить и обрабатывать «сложно устроенные» данные. Одной из первых таких возможностей стала работа в версии 7.3 с частично структурированными данными: текстовыми документами.
До наших дней возможность работы с текстовыми документами в Oracle несколько раз поменяла название (SQL*TextRetrieval -> Text Server -> Oracle ConText -> Oracle Text) и существенно развилась. Начиная с версии 9, она встроена в обычную поставку СУБД Oracle, не требует, как ранее, отдельного лицензирования и автоматически включается в состав типовой БД. При отсутствии же в БД эту возможность можно установить самостоятельно либо при помощи DBCA, либо прогоном сценария dr0inst.sql (версия 9 и предшествующие) или же catctx.sql (с версии 10) в [ORACLE_HOME]/ctx/admin.
Текстовые возможности Oracle находят внутреннее употребление, например в Oracle Ultra Search, Content Management (ранее iFS) или в XML DB.
Текстовые возможности СУБД Oracle основаны на использовании специального вида индекса, являющегося одним из встроенных в систему вариантов «предметного» индекса (domain index), используемого для организации работы со сложно устроенными данными. Oracle Text имеет в готовом виде три вида текстового индекса:
CTXSYS.CONTEXT - для выполнения полнотекстового поиска по текстовым документам; CTXSYS.CTXCAT - для выполнения упрощенного и ускоренного поиска по «каталогам» (одно-двустрочным текстовым описаниям); CTXSYS.CTXRULE - для построения «классификаций» документов при том, что класс описывается набором характерных запросов.
Здесь рассматриваются общие возможности наиболее популярной разновидности индекса CTXSYS.CONTEXT. Этот вид текстового индекса позволяет хранить в БД текстовые документы и выполнять полнотекстовые запросы к документам как внутреннего хранения, так и внешнего (файловая система, интернет).
Содержание раздела