3.11.4 全文検索機能を使用する場合に出力されるデータベース定義文

ここでは,全文検索機能を使用する場合に出力されるデータベース定義文について説明します。

<この項の構成>
(1) 出力されるデータベース定義文
(2) 全文検索機能を使用する文書クラスを定義したデータベース定義文
(3) 概念検索機能を使用する文書クラスを定義したデータベース定義文
(4) 差分インデクス作成を定義したデータベース定義文
(5) 文字列型プロパティに対する全文検索機能を使用するためのプロパティを定義したデータベース定義文
(6) データベース定義文中のRDエリア名についての注意事項

(1) 出力されるデータベース定義文

全文検索機能を使用する場合,DocumentBroker用データベース定義文の作成コマンド(EDMCrtSql)を実行すると,次に示すデータベース定義文が出力されます。

以降,それぞれのデータベース定義文について説明します。なお,構造を指定した検索機能の定義については,それぞれのデータベース定義に含めて説明します。

(2) 全文検索機能を使用する文書クラスを定義したデータベース定義文

全文検索機能を使用する文書クラスに定義される全文検索インデクス用プロパティ(検索タームを指定する全文検索機能用)ごとに出力されるデータベース定義文について説明します。ここでは,次に示す全文検索インデクス用プロパティを定義したクラスのデータベース定義文について説明します。

(a) edmProp_TextIndexプロパティを定義した場合

プレーンテキストを対象とした全文検索機能を使用する文書クラスに,edmProp_TextIndexプロパティを定義します。これによって,次の図に示すデータベース定義文が出力されます。

図3-5 edmProp_TextIndexプロパティを定義した場合に出力されるデータベース定義文

[図データ]

(b) edmProp_StIndexプロパティを定義した場合

XML文書のように構造を持つ文書を対象とした全文検索機能を使用する文書クラスに,edmProp_StIndexプロパティを定義します。これによって,次の図に示すデータベース定義文が出力されます。

図3-6 edmProp_StIndexプロパティを定義した場合に出力されるデータベース定義文

[図データ]

(c) edmProp_Contentプロパティを定義した場合

プレーンテキストまたは構造を持つ文書(XML文書)を対象とした全文検索機能を使用する文書クラスに,edmProp_Contentプロパティを定義します。これによって,次の図に示すデータベース定義文が出力されます。なお,このプロパティは,Version 1との互換用プロパティです。

図3-7 edmProp_Contentプロパティを定義した場合に出力されるデータベース定義文

[図データ]

(d) データベース定義文の定義内容の解説

図3-5図3-6,および図3-7のデータベース定義文中の1.,2.,および3.の意味を次に示します。

  1. 全文検索機能付き文書クラスのための列作成定義
    全文検索用の文書の内容を格納するためのユーザLOB用RDエリアを使用します。例では,SEARCHDB1というユーザLOB用RDエリアを指定しています。
  2. 全文検索機能付きクラスのための列作成定義
  3. 全文検索機能付きクラスのためのインデクス作成定義
    全文検索用のユーザLOB用RDエリアを使用します。例では,SEARCHINDEX1またはSGMLINDEX1というユーザLOB用RDエリアを指定しています。

(e) edmProp_Contentプロパティを定義した場合のデータベース定義文の変更

全文検索機能を使用する文書クラスの全文検索インデクス用プロパティにedmProp_Contentプロパティを追加している場合,必要に応じてデータベース定義文を次に示すように変更してください。

プレーンテキストを全文検索する場合のプラグイン宣言の変更
プレーンテキストの全文検索用クラスのデータベース定義文を変更する場合,図3-7のデータベース定義文中にある1のプラグイン宣言を,次のように変更します。
変更前

ALLOCATE (SGMLTEXT IN(SEARCHDB1))
PLUGIN '<TEXTTYPE>SGML</TEXTTYPE><DTD>EDM_DEFAULT.DTD</DTD>',

変更後

ALLOCATE (SGMLTEXT IN(SEARCHDB1))
PLUGIN '<TEXTTYPE>PLAIN</TEXTTYPE>',

XML文書を全文検索する場合の正規化パラメタファイル名の追加
XML文書の全文検索用クラスのデータベース定義文で,文書中のタグを制御するか,特定文字データ(SDATA)を使用する場合は,<NORparm>に利用する正規化パラメタファイル名を指定します。この場合,図3-7のデータベース定義文中にある1.の部分を次に示すように変更します。なお,DocumentBrokerのデータベース定義では,必ず<DTD>に「EDM_DEFAULT.DTD」を設定します。
変更前

ALLOCATE (SGMLTEXT IN(SEARCHDB1))
PLUGIN '<TEXTTYPE>SGML</TEXTTYPE><DTD>EDM_DEFAULT.DTD</DTD>',

変更後

ALLOCATE (SGMLTEXT IN(SEARCHDB1))
PLUGIN '<TEXTTYPE>SGML</TEXTTYPE><DTD>EDM_DEFAULT.DTD</DTD>
       <NORparm>SAMPLE.NORM</NORparm>',

(3) 概念検索機能を使用する文書クラスを定義したデータベース定義文

概念検索機能を使用する文書クラスに定義される全文検索インデクス用プロパティ(概念検索機能用)ごとに出力されるデータベース定義文について説明します。ここでは,次に示す全文検索インデクス用プロパティを定義したクラスのデータベース定義文について説明します。

(a) edmProp_ConceptTextIndexプロパティを定義した場合

プレーンテキストを対象とする概念検索機能を使用する文書クラスに,edmProp_ConceptTextIndexプロパティを定義します。これによって,次の図に示すデータベース定義文が出力されます。

図3-8 edmProp_ConceptTextIndexプロパティを定義した場合に出力されるデータベース定義文

[図データ]

(b) edmProp_ConceptStIndexプロパティを定義した場合

XML文書のように構造を持つ文書を対象とした概念検索機能を使用する文書クラスに,edmProp_ConceptStIndexプロパティを定義します。これによって,次の図に示すデータベース定義文が出力されます。

図3-9 edmProp_ConceptStIndexプロパティを定義した場合に出力されるデータベース定義文

[図データ]

(c) データベース定義文の定義内容の解説

図3-8および図3-9のデータベース定義文中の1.,2.,および3.の意味を次に示します。

  1. 概念検索機能を使用する文書クラスのための列作成定義
    概念検索用の文書の内容を格納するためのユーザLOB用RDエリアを使用します。例では,SEARCHDB1というユーザLOB用RDエリアを指定しています。
  2. 概念検索機能を使用する文書クラスのための列作成定義
  3. 概念検索機能を使用する文書クラスのためのインデクス作成定義
    概念検索用のユーザLOB用RDエリアを使用します。例では,SEARCHINDEX1というユーザLOB用RDエリアを指定しています。

(4) 差分インデクス作成を定義したデータベース定義文

インデクス情報ファイルで,差分インデクスの作成を定義した場合のデータベース定義文を示します。ここでは,edmProp_TextIndexプロパティに差分インデクスの作成を定義した場合のデータベース定義文を次の図に示します。

図3-10 edmProp_TextIndexプロパティに差分インデクスの作成を定義した場合に出力されるデータベース定義文

[図データ]

図3-10のデータベース定義文中の1.の意味を次に示します。

  1. 差分インデクスの作成および差分インデクスの容量の定義
    差分インデクスの作成,および作成する差分インデクスの容量を定義します。ここでは,51,200キロバイトを定義しています。

なお,差分インデクス作成の定義は,インデクス情報ファイルに記述します。インデクス情報ファイルについては,「4.9 インデクス情報ファイル」を参照してください。

(5) 文字列型プロパティに対する全文検索機能を使用するためのプロパティを定義したデータベース定義文

ここでは,文字列型プロパティに対する全文検索機能を使用するためのプロパティを定義した場合に出力されるデータベース定義文について説明します。

usrClass_PropTextSearchクラスに対して,全文検索機能付き文字列型プロパティであるusrProp_DocSummaryプロパティを定義した場合に出力されるデータベース定義文を次の図に示します。

図3-11 全文検索機能付き文字列型プロパティを定義した場合に出力されるデータベース定義文

[図データ]

図3-11のデータベース定義文中の1.および2.の意味を次に示します。

  1. 全文検索機能付き文字列型プロパティのための列作成定義
  2. 全文検索機能付き文字列型プロパティのためのインデクス作成定義
    全文検索機能付き文字列型プロパティ用のユーザLOB用RDエリアを使用します。例では,SEARCHINDEX1というユーザLOB用RDエリアを指定しています。

(6) データベース定義文中のRDエリア名についての注意事項

全文検索機能を使用する場合に出力されるデータベース定義文に定義されているRDエリア名について説明します。

これらのRDエリア名は,「3.10.2 HiRDBの環境設定」で作成したRDエリア名に変更する必要があります。ただし,DocumentBroker用データベース定義文の作成コマンド(EDMCrtSql)の-rオプションでRDエリア定義情報ファイル名を指定している場合,この作業は不要です。RDエリア定義情報ファイルについては,「4.8 RDエリア定義情報ファイル」を参照してください。