Hitachi

HiRDB XML拡張機能 HiRDB XML Extension Version 10


2.6.2  IXXMLインデクス型プラグインの環境設定

〈この項の構成〉

(1) 環境情報の定義方法

IXXMLインデクス型プラグインの環境定義ファイルは,サンプルファイルとして提供されています。

IXXMLインデクス型プラグインの環境情報を設定できる単位を次に示します。

優先順位は,サーバ単位>ユニット単位>システム単位です。

記述誤りなどが検出された場合,サーバは起動しますが,メッセージログに警告メッセージが出力され,誤りのある定義ファイルは無視されます。環境定義ファイルがないか,環境定義ファイルはあるが設定されていない定義がある場合は,エラーではなく,定義値なしとして処理されます。最終的に有効な値がない場合は,システムのデフォルトで動作します。

メッセージログに次のメッセージが出力されていないことを確認してください。

KFPY99999-I xxxx xxxx(xxxxx) 01001-W Invalid data found. file=aa,line=XX.bb(YY)

または

KFPY99999-I xxxx xxxx(xxxxx) 01002-W Invalid value found. file=aa,line=XX,item=bb.cc(YY)

IXXMLインデクス型プラグインの環境定義ファイルの定義例を次の図に示します。

図2‒30 IXXMLインデクス型プラグインの環境定義ファイルの定義例

[図データ]

注意事項
  • 各設定項目の行末は改行で区切ってください。

  • 1行に1項目だけ指定できます。2項目以上指定した場合は,2項目目以降は無視されます。

  • 設定項目の途中を改行で区切らないでください。

  • 検索用ワークファイルを使用して実行した検索が異常終了した場合,検索用ワークファイルディレクトリに不要なファイルが残ることがあります。これらのファイルは定期的にユーザが削除してください。

  • 1行に設定できる文字列長は1,023バイトです。

  • 「#」(シャープ)以降は,コメント文として扱われます。

  • 各行は,空行なしで詰めて記述してください。

  • BOM(Byte Order Mark)は使用しないでください。BOMが含まれている場合は,通常の文字として扱います。

(2) 設定できる項目

IXXMLインデクス型プラグインを動作させる環境情報をIXXMLインデクス型プラグインの環境定義ファイルに定義することで,ユーザごとの環境を設定できます。設定できる定義項目を次の表に示します。

表2‒15 IXXMLインデクス型プラグインの環境定義ファイルに設定できる定義項目

種別

環境設定項目

パラメタ

設定値

環境を設定できる単位

XMLデータ検索

一括登録時最大メモリサイズ

set phj_mem_build

最大値(32ビット版の場合):2,097,152キロバイト

最大値(64ビット版の場合):3,670,016キロバイト

最小値:30,720キロバイト

デフォルト:512,000キロバイト

システム,ユニット,サーバ

1件登録時最大メモリサイズ

set phj_mem_insert

最大値:2,097,152キロバイト

最小値:3,072キロバイト

デフォルト:51,200キロバイト

システム,ユニット,サーバ

検索時最大ワークメモリサイズ

set phj_mem_search

最大値(32ビット版の場合):2,097,152キロバイト

最大値(64ビット版の場合):4,194,303キロバイト

最小値:2,048キロバイト

デフォルト:102,400キロバイト

システム,ユニット,サーバ

検索用ワークファイルディレクトリ

set phj_dir_search

最大長:200バイト(\0を含む)

最小長:1バイト

UNIXの場合のデフォルト:HiRDB運用ディレクトリ/plugin/_phjxml/tmp

Windowsの場合のデフォルト:HiRDB運用フォルダ\plugin\_phjxml\tmp

システム,ユニット,サーバ

検索オプション

set phj_opt_search

memoryまたはfile

デフォルト:memory

システム,ユニット,サーバ

最大同義語異表記展開数

set phj_expand_counts

最大値:1,000,000回

最小値:1回

デフォルト:0(無制限)

システム,ユニット,サーバ

スコア算出法指定

set phj_opt_score

booleanまたはtotal

デフォルト:boolean

システム,ユニット,サーバ

検索抑止インデクスサイズ

set phj_index_search

最大値:2,097,152キロバイト

最小値:64キロバイト

デフォルト:2,097,152キロバイト

システム,ユニット,サーバ

拗音展開拡張モード

set phj_expand_youon_mode

0または1

デフォルト:0

システム,ユニット,サーバ

長音ハイフン展開拡張モード

set phj_expand_chouon_mode

0または1

デフォルト:0

システム,ユニット,サーバ

1文字近傍検索実行可否

set phj_1gram_proximity_search

onまたはoff

デフォルト:on

システム,ユニット,サーバ

他列絞り込み率

set phj_ratio_of_filtering

最大値:100%

最小値:1%

デフォルト:20%

システム,ユニット,サーバ

登録・検索同時実行

1RDエリア当たりの排他制御用共用メモリサイズ

set phj_lock_pool_size

最大値:1,024キロバイト

最小値:8キロバイト

デフォルト:8キロバイト

サーバ

分割遅延登録

分割遅延登録用ファイルオーバ時の処理

set phj_delay_over

continueまたはerror

デフォルト:error

システム,ユニット,サーバ

遅延データスキャン機能指定

set phj_table_scan

onまたはoff

デフォルト:on

システム,ユニット,サーバ

スキャン検索結果の重複排除

set phj_scan_result

allまたはdistinct

デフォルト:all

システム,ユニット,サーバ

運用

インデクス用グローバルバッファ最適化指定

set phj_global_buffer_mode

0または1

デフォルト:0

システム,ユニット,サーバ

分割遅延登録

分割遅延登録・更新系SQL同時実行の更新系SQL優先モード

set phj_update_priority

onまたはoff

デフォルト:on

システム,ユニット,サーバ

一括登録時最大メモリサイズ

IXXML型に対する一括追加(CREATE INDEX,pdload)をするときに使用する最大メモリサイズ(キロバイト)です。

パラレルサーバで表分割をしている場合,BESごとのメモリとなるため,メモリ空き容量に注意してください。

形式

set phj_mem_build=xxxx

1件登録時最大メモリサイズ

IXXML型に1件追加(INSERT文,UPDATE文,pdloadのSYNCモード)するときに使用する最大メモリサイズ(キロバイト)です。

形式
set phj_mem_insert=xxxx
検索時最大ワークメモリサイズ

検索処理をするときに使用する作業用メモリの最大メモリサイズ(キロバイト)です。

パラレルサーバで表分割をしている場合,BESごとのメモリとなるため,メモリ空き容量に注意してください。

形式
set phj_mem_search=xxxx
検索用ワークファイルディレクトリ

検索オプションに,「set phj_opt_search=file」を指定した場合,検索に使用するワークファイルを作成するディレクトリ名を絶対パスで指定します。XML Extensionは,検索開始時にファイル名が「swk」で始まるユニークなファイルを指定されたディレクトリに作成し,検索終了時に削除します。

検索が複数同時実行された場合,ディレクトリ競合による性能低下のおそれがあります。そのため,同一のBESに対して複数のユーザが同時に検索する運用の場合は,ファイルではなくメモリの使用をお勧めします。

なお,検索高速化インデクス(V2)機能を使用している場合は,指定しても無視されます。

形式
set phj_dir_search=xxxxxxxxxxxx
検索オプション

検索時の動作方法を指定します。

検索時最大ワークメモリサイズを超えた場合,エラーとするか検索用ワークファイルを使用するか選択できます。

なお,検索高速化インデクス(V2)機能を使用している場合は,指定しても無視されます。

形式
set phj_opt_search=memory | file
  • memory

    メモリ上で動作します。「set phj_mem_search」で指定したメモリサイズを超える場合は,メモリ不足エラーとなります。

  • file

    メモリおよび検索用ワークファイルで動作します。

最大同義語異表記展開数

同義語異表記検索時の最大展開数を指定します。0を指定した場合は,無制限となります。最大展開数を超える検索を行うとSQL連絡領域に次のメッセージが出力されます。

Expand search exceeds maximum counts.(XX)

メッセージの詳細については,「付録F エラーメッセージ」を参照してください。

形式
set phj_expand_counts = xxxx
スコア算出法指定

検索時のスコア算出法を指定します。

形式
set phj_opt_score=boolean|total
  • boolean

    論理演算時に検索条件式が論理積の場合は,演算対象内で最小のスコアを最終スコアとし,論理和の場合は,演算対象内で最大のスコアを最終スコアとします。

  • total

    論理演算時に検索条件式が論理積,論理和のどちらの場合でも,演算対象内のスコアの総和の値を最終スコアとします。

検索抑止インデクスサイズ

検索で使用するインデクスサイズの上限値を指定します。検索時に指定した上限値を超えるインデクスを参照すると,SQL連絡領域に次のメッセージが出力されます。

Index data for search exceeds maximum size.(XX)

メッセージの詳細については,「付録F エラーメッセージ」を参照してください。

なお,検索高速化インデクス(V2)機能を使用している場合は,指定しても無視されます。

形式
set phj_index_search = xxx
拗音展開拡張モード

カタカナ拗音展開,およびひらがな拗音展開を拡張するかどうかを指定します。拡張した場合は,カタカナ拗音展開指定("C")のときに従来の展開に加えて"カ"と"ヵ","ケ"と"ヶ","ワ"と"ヮ"の展開を行い,ひらがな拗音展開指定("Y")のときに従来の展開に加えて"わ"と"ゎ"の展開を行います。なお,カタカナ拗音展開指定("C")をカタカナ異表記指定("K")またはカタカナベーシック展開指定("B")と組み合わせて使用した場合と拗音統一機能のインデクスに対して使用した場合は,指定しても無視されます。

形式
set phj_expand_youon_mode=0|1
  • 0

    拡張しません。

  • 1

    拡張します。

長音ハイフン展開拡張モード

カタカナ長音・ハイフン展開を拡張するかどうかを指定します。拡張した場合は,カタカナ長音・ハイフン展開指定("L")のときに前後の文字に関係なく"ー"(長音),"−"(マイナス),"‐"(ハイフン),"—"(ダッシュ)の展開を行います。なお,カタカナ異表記指定("K")またはカタカナベーシック展開指定("B")と組み合わせて使用した場合は,指定しても無視されます。

形式
set phj_expand_chouon_mode=0|1
  • 0

    拡張しません。

  • 1

    拡張します。

1文字近傍検索実行可否

1文字のインデクスを使用する近傍検索や,「A*A」のような1文字のインデクスを使用する前方後方一致のワイルドカード検索の実行を可能にするかを指定します。なお,これらの検索は使用するインデクスが多くなり,システムに負荷を与えるおそれがあります。このため,これらの検索を実行する必要がない場合は「off」を指定してください。

形式
set phj_1gram_proximity_search=on|off
  • on

    1文字のインデクスを使用する近傍検索,および前方後方一致のワイルドカード検索を実行できます。

  • off

    1文字のインデクスを使用する近傍検索,および前方後方一致のワイルドカード検索を実行するとエラーリターンし,SQL連絡領域に「Cannot specify term of ome character in proximity.」のメッセージが出力されます。

    メッセージの詳細については「付録F エラーメッセージ」を参照してください。

他列絞り込み率

他列のインデクスで評価する条件による絞り込み結果の行識別子集合を検索高速化インデクス(V2)による全文検索で利用する場合の絞り込み率を指定します。

全文検索で使用するインデクスの最大ヒット件数(100件未満切り捨て)に対する他列のヒット件数の割合がこの指定以下の場合に絞り込み結果を利用します。ほかの条件による絞り込み率が良い場合には,その絞り込み結果を利用して検索高速化インデクス(V2)のサーチ範囲をさらに絞り込むため,高速に検索できます。

なお,パラレルサーバで表分割している場合,BESごとに絞り込み率が異なるため,絞り込み結果を利用するBESと利用しないBESが混在する場合があります。

形式
set phj_ratio_of_filtering=xxx
1RDエリア当たりの排他制御用共用メモリサイズ

登録・検索同時実行時の排他制御に使用する共用メモリのサイズ(キロバイト)を指定します。サイズは8キロバイトの倍数で指定してください。8キロバイトの倍数でない値が指定された場合は,8キロバイト単位で切り下げられます。ただし,8キロバイトより小さい値が指定された場合は,8キロバイト(デフォルト)になります。

なお,この項目を設定できる単位は,サーバ単位だけです。

形式
set phj_lock_pool_size=xxxx
分割遅延登録用ファイルオーバ時の処理

インデクス分割遅延登録時に,指定された分割登録用の領域を使い切った場合の処理を指定します。

形式
set phj_delay_over=continue | error
  • continue

    登録要求されたXMLデータは遅延せず即時にインデクスを作成して登録します。

  • error

    エラーリターンします。

遅延データスキャン機能指定

遅延データスキャン機能に対応するインデクスが作成された場合,実際に遅延データスキャン機能を使用して検索するかどうかを指定します。

形式
set phj_table_scan=on | off
  • on

    遅延データスキャン機能を適用します。

  • off

    遅延データスキャン機能を適用しません。

スキャン検索結果の重複排除

遅延データスキャン機能を使って検索した結果にインデクスで検索した結果と重複する行があった場合,重複した行を排除するかどうかを指定します。

形式
set phj_scan_result=all | distinct
  • all

    重複した行があっても重複を許し,そのまま返します。

  • distinct

    重複した行があったら重複を排除し,1つの行と見なして返します。

インデクス用グローバルバッファ最適化指定

インデクスにアクセスするときHiRDB BLOB用グローバルバッファを最適化するかどうかを指定します。最適化した場合は検索性能の向上が期待できます。

なお,検索高速化インデクス(V2)機能を使用している場合,バージョン09-05以降は指定できますが,09-05より前は指定しても無視されます。

形式
set phj_global_buffer_mode=0|1
  • 0

    最適化しません。

  • 1

    最適化します。

    検索用の管理データファイル単位で優先してバッファリングします。各ファイルの優先付けについては,「6.2 性能向上の運用」を参照してください。

分割遅延登録・更新系SQL同時実行の更新系SQL優先モード

分割遅延登録・更新系SQL同時実行時に更新系SQLを優先するか,しない(分割遅延登録を優先する)かを指定します。

形式
set phj_update_priority = on | off
  • on

    更新系SQLを優先します。インデクス作成開始ユティリティで遅延データのインデクスが作成されない場合があります。

  • off

    更新系SQLを優先しません。インデクス作成開始ユティリティと排他が競合した場合,更新系SQLが排他失敗でエラーになるときがあります。

(3) 有効範囲

環境定義ファイルに定義した環境情報は,サーバ開始から終了まで有効です。HiRDB稼働中に環境情報を変更した場合は,正しく動作しない場合がありますので変更しないでください。