14.1 Oracle Textシソーラス機能の概要
問合せアプリケーションのユーザーが、特定のトピックに関する情報を検索するとき、そのトピックについて書かれたドキュメント内で使用されているワードがわからない場合があります。
Oracle Textでは、ワードと句のシノニムおよび階層関係を定義する大/小文字を区別するシソーラスまたは大/小文字を区別しないシソーラスを作成できます。その結果、シソーラスで定義した類似語または関連語が含まれるように問合せを拡張して、関連テキストを含むドキュメントを取り出すことができます。
シソーラスは、アプリケーション開発者が作成し、システムにロードできます。
この項では、次の項目について説明します。
ノート:
Oracle Textのシソーラスの形式および機能性は、ISO-2788およびANSI Z39.19(1993)の両標準に準拠しています。
14.1.1 Oracle Textシソーラスの作成とメンテナンス
CTXAPP
ロールがある場合は、シソーラスおよびシソーラス・エントリを作成、変更、削除、インポートおよびエクスポートできます。
この項では、次の項目について説明します。
-
CTX_THESパッケージ: シソーラスをプログラムでメンテナンスおよびブラウズするには、
CTX_THES
PL/SQLパッケージを使用できます。このパッケージを使用すると、語句および階層関係のブラウズ、語句の追加と削除、シソーラス・リレーションの追加と削除、シソーラス表に対するシソーラスのインポートとエクスポートを実行できます。 -
シソーラス演算子: ロードしたシソーラスに従って問合せ語句を拡張するには、
CONTAINS
句でシソーラス演算子を使用できます。たとえば、SYN
演算子を使用して、次のようにdogなどの語句をそのシノニムに拡張します。'syn(dog)'
-
ctxloadユーティリティ:
ctxload
ユーティリティを使用すると、シソーラスをプレーン・テキスト・ファイルからシソーラス表にロードし、シソーラスをシソーラス表から出力(つまりダンプ)ファイルにダンプできます。シソーラス・ダンプ・ファイルは、出力して他のアプリケーションの入力として使用し、それを使用してシソーラス表にシソーラスをロードできます(新しいシソーラスの基礎として既存のシソーラスを使用するときに便利です)。
警告:
セキュリティを確実にするために、対話型モードを使用し、ユーザー・パスワードの入力を求められたときに
ctxload
にパスワードを入力することをお薦めします。コマンドラインにパスワードを入力しないことをお薦めします。ノート:
また、PL/SQLパッケージ
CTX_THES
のIMPORT_THESAURUS
プロシージャとEXPORT_THESAURUS
プロシージャを使用すると、シソーラス表に対するシソーラスのインポートとエクスポートをプログラム的に実行することもできます。これらのプロシージャの詳細は、『Oracle Textリファレンス』を参照してください。
14.1.2 大/小文字を区別するシソーラスの使用
大/小文字を区別するシソーラスでは、語句(ワードおよび句)は、入力したとおり正確に格納されます。たとえば、(CTX_THES
パッケージまたはシソーラス・ロード・ファイルを使用して)大/小文字混在で語句を入力すると、シソーラスは大/小文字混在でエントリを格納します。
ノート:
大/小文字を区別するシソーラスから取得した問合せ拡張を利用するには、索引も大/小文字を区別する必要があります。
シソーラスのロード時に、-thescase
パラメータを使用して、大/小文字を区別してシソーラスをロードするように指定できます。
CTX_THES.CREATE_THESAURUS
またはCTX_THES.IMPORT_THESAURUS
によるシソーラスの作成時に、大/小文字を区別して作成するように指定できます。
また、大/小文字を区別するシソーラスを問合せで指定した場合、シソーラス検索では、問合せ語句は問合せで入力したとおりに正確に使用されます。したがって、大/小文字を区別するシソーラスを使用する問合せでは、索引も大/小文字を区別しているかぎり、問合せ拡張における精度が向上し、検索が容易になります。
たとえば、大/小文字を区別するシソーラスを作成する場合、異なる意味を持つ語句、たとえばTurkey(国名)とturkey(鳥の種類)には、異なるエントリが使用されます。このシソーラスを使用すると、Turkeyへの問合せは、Turkeyに対応付けられているエントリのみを含むように拡張されます。
14.1.3 大/小文字を区別しないシソーラスの使用
大/小文字を区別しないシソーラスでは、語句は、当初の入力時の文字に関係なく、すべて大文字で格納されます。
ctxload
プログラムは、デフォルトでは大/小文字を区別しないモードでシソーラスをロードします。
CTX_THES
.CREATE_THESAURUS
またはCTX_THES.IMPORT_THESAURUS
によるシソーラスの作成時、シソーラスは、デフォルトでは大/小文字を区別せずに作成されます。
また、大/小文字を区別しないシソーラスを問合せで指定した場合、シソーラス検索では、問合せ語句はすべて大文字に変換されます。その結果、Oracle Textでは、大/小文字混在で表記されたときに異なる意味を持つ語句を区別できません。
たとえば、大/小文字を区別しないシソーラスを作成する場合、2つの異なる意味を持つ語句TURKEY(国名と鳥の種類)には、異なるエントリが使用されます。このシソーラスを使用すると、Turkeyまたはturkeyのいずれに対する問合せも、シソーラス検索ではTURKEYに変換された後、2つの意味に対応付けられているすべてのエントリを含むように拡張されます。
14.1.4 デフォルトのシソーラス
問合せでシソーラス名を指定しない場合、デフォルトで、シソーラス演算子は、DEFAULTという名前のシソーラスを使用します。ただし、Oracle Textには、デフォルトのシソーラスはありません。
したがって、シソーラス演算子に対してデフォルトのシソーラスを使用する場合は、DEFAULTという名前のシソーラスを作成する必要があります。このシソーラスの作成には、Oracle Textがサポートしている次のシソーラス作成方法を使用できます。
-
CTX_THES
.CREATE_THESAURUS
(PL/SQL) -
CTX_THES
.IMPORT_THESAURUS
(PL/SQL) -
ctxload
ユーティリティ関連項目:
ctxload
およびCTX_THES
パッケージの使用方法についてさらに学習するには、『Oracle Textリファレンス』を参照してください
14.1.5 提供されるシソーラス
Oracle Textには、デフォルトのシソーラスはありません。ただし、Oracle Textでは、シソーラスをctxload
でロードするファイルの形式で提供しています。このファイルを使用して汎用の英語シソーラスを作成できます。
このシソーラス・ロード・ファイルを使用すると、Oracle Textのデフォルトのシソーラスを作成できます。あるいは、このファイルを特定の主題または主題の範囲にあわせたシソーラスの基礎として使用することもできます。
-
提供されるシソーラスの構造と内容: 提供されるシソーラスは、Roget's Thesaurus (ロジェの分類語彙辞典)のような従来のシソーラスに類似しています。同義の語句や語義的に関連する語句のリストを備えています。
これは語句を階層形式に編成し、下位語とその上位語との実世界での実用的な関係を定義して付加価値を付けています。
また、階層の異なる領域の語句間で相互参照もできます。
-
提供されるシソーラスの場所: このシソーラス・ロード・ファイルの正確な名前と場所は、オペレーティング・システム固有です。ただし、通常、ファイル名は、
dr0thsus
(適切なテキスト・ファイルの拡張子が付きます)で、ファイルは次のディレクトリ構造内に置かれます。<Oracle_home_directory> <Oracle_Text_directory> sample thes
関連項目:
-
Oracle Textのディレクトリ構造の詳細は、使用しているオペレーティング・システム固有のOracle Databaseのインストレーション・マニュアルを参照してください。
-
ctxload
およびCTX_THES
パッケージの使用方法についてさらに学習するには、『Oracle Textリファレンス』を参照してください