4.9.4 インデクス情報ファイルの記述形式
ここでは,インデクス情報ファイルの記述形式について説明します。
インデクス情報ファイルは,次に示す二つのセクションと,各セクションに指定するエントリによって構成されます。
- [Index]セクション
- [ContentSearchIndex]セクション
セクションとエントリの記述規則を次に示します。
- 印刷可能なASCIIコードで記述します。
- セクション名は,[ ](角括弧)で囲んで指定します。一つのセクションは,セクション名を指定してから,次のセクション名を指定するまで,またはファイルの終端までの範囲です。
- 「;」(セミコロン)および「#」(シャープ)で始まる行はコメントとして扱われます。
- インデクス情報ファイルの解析を実行して10件の誤りを検知した場合,それ以降の解析処理は実行されません。
以降,インデクス情報ファイルを構成する各セクションと,セクションごとに指定するエントリについて説明します。
〔[Index]〕
class=<class_name>〔,UNIQUE〕,prop=<property_name>〔,order={ASC|DESC}〕
〔,prop=<property_name>〔,order={ASC|DESC}〕...〕
〔,EXCEPT〕
〔,index=<index_name>〕
〔[ContentSearchIndex]
class=<class_name>,prop=<system_property_name>
〔,subindex=<numeric>〕
〔,index=<index_name>〕
〕
- <この項の構成>
- (1) インデクス情報ファイルのセクションとエントリ
(1) インデクス情報ファイルのセクションとエントリ
インデクス情報ファイルを構成するセクションとエントリについて説明します。
(a) 定義内容とセクションおよびエントリの対応
インデクス情報ファイルに定義する内容によって,セクションおよびエントリの設定は異なります。インデクス情報ファイルで定義する内容に対応したセクション名およびエントリ名を次に示します。
- ユーザが定義するプロパティに対するインデクスの作成
[Index]セクションで定義します。次のエントリを設定する必要があります。
- classエントリ
- propエントリ
- UNIQUEエントリ
- orderエントリ
- EXCEPTエントリ
- indexエントリ
- 全文検索インデクス用プロパティに対する差分インデクスの作成
[ContentSearchIndex]セクションで定義します。次のエントリを設定する必要があります。
- classエントリ
- propエントリ
- subindexエントリ
- indexエントリ
(b) セクションおよびエントリの説明
インデクス情報ファイルを構成するセクションおよびエントリについて,説明します。
- [Index]
- [Index]セクションは,ユーザが定義するプロパティにインデクスを作成する場合に定義します。
- [Index]セクションの各エントリについて説明します。
- class=<class_name>
- インデクスを定義するクラスの名称(クラスに定義されるdmaProp_DisplayNameプロパティの値)を指定します。
- prop=<property_name>
- インデクスのキーに選択するプロパティの名称(プロパティに定義されるdmaProp_DisplayNameプロパティの値)を指定します。
- prop=は,最大16個指定できます。複数個を指定すると,複数列インデクスの定義となります。なお,ここで指定した各プロパティの定義長の合計はチェックしません。
- UNIQUE
- インデクスのキーに選択するプロパティを一意に制約する場合に指定します。
- この指定を省略した場合,インデクスのキーに選択するプロパティを一意に制約しません。
- order={ASC|DESC}
- インデクスを昇順に定義する場合はASC,降順に定義する場合はDESCを指定します。
- EXCEPT
- NULL値だけで構成されるキー値を除外してインデクスを定義する場合に指定します。指定を省略した場合,NULL値だけで構成されるキー値を除外しません。
- index=<index_name>
- インデクスのインデクス名を指定します。インデクス名の名称定義の方法については,「4.9.2 インデクス名をデータベース定義の名称に使用する場合の規則」を参照してください。
- [ContentSearchIndex]
- [ContentSearchIndex]セクションは,全文検索インデクス用プロパティに差分インデクスを作成する場合に定義します。これらのインデクスを作成できる全文検索インデクス用プロパティを次に示します。
- 全文検索インデクス用プロパティに対する差分インデクスの作成
- 次に示す全文検索インデクス用プロパティに対して差分インデクスの作成を定義できます。
- edmProp_TextIndexプロパティ
- edmProp_StIndexプロパティ
- edmProp_ConceptTextIndexプロパティ
- edmProp_ConceptStIndexプロパティ
- 次に,[ContentSearchIndex]セクションの各エントリについて説明します。
- class=<class_name>
- インデクスの作成を定義する全文検索機能付き文書クラスの名称(クラスに定義されるdmaProp_DisplayNameプロパティの値)を指定します。
- prop=<system_property_name>
- インデクスのキーに選択する全文検索インデクス用プロパティの名称(プロパティに定義されるdmaProp_DisplayNameプロパティの値)を指定します。
- なお,プロパティの詳細については,「2.3.4 全文検索機能付き文書クラスの追加」を参照してください。
- subindex=<numeric>
- 全文検索インデクスに対して,差分インデクスの作成を定義するとともに,作成する差分インデクスの容量を定義します。<numeric>に指定できる値は,40,000~102,400(キロバイト)の符号なしの整数値です。<numeric>に指定できる値の範囲は,HiRDB Text Search Plug-inの差分インデクスで指定できる範囲と同じです。なお,この指定を省略した場合,差分インデクスの作成を定義するSQL文は出力されません。
- 差分インデクスの詳細については,マニュアル「HiRDB Text Search Plug-in」を参照してください。
- index=<index_name>
- 全文検索インデクス用プロパティに定義するインデクスのインデクス名を指定します。
- 指定を省略した場合,DocumentBrokerが提供するインデクス名の名称定義に従ってインデクス名が定義されます。インデクス名の名称定義については,「4.9.2 インデクス名をデータベース定義の名称に使用する場合の規則」を参照してください。