2.6.2 n-gramインデクスプラグインの環境設定

<この項の構成>
(1) 環境情報の定義方法
(2) 設定できる項目
(3) 有効範囲

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

n-gramインデクスプラグインの環境定義ファイルは,サンプルファイルとして提供されています。なお,HiRDB/シングルサーバの場合は,次のどの単位で設定しても同じ意味になります。

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

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

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

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

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)

環境定義ファイルの定義例を次の図に示します。

図2-41 n-gramインデクスプラグインの環境定義ファイルの定義例

[図データ]

注意事項
  • 各設定項目の行末は改行で区切ってください。
  • 1行に1項目だけ指定できます。2項目以上指定した場合は,2項目目以降は無視されます。
  • 設定項目の途中を改行で区切らないでください。
  • 検索用ワークファイルを使用して実行した検索が異常終了した場合,検索用ワークファイルディレクトリに不要なファイルが残ることがあります。これらのファイルは定期的にユーザが削除してください。
  • 1行に設定できる文字列長は1,023バイトです。
  • #(シャープ)以降は,コメント文として扱われます。
  • 各行は,空行なしで詰めて記述してください。
  • BOM(Byte Order Mark)は使用しないでください。BOMが含まれていた場合は,通常の文字として扱います。

(2) 設定できる項目

n-gramインデクスプラグインを動作させる環境情報をn-gramインデクスプラグインの環境定義ファイルに定義することで,ユーザごとの環境を設定できます。設定できる定義項目を次の表に示します。なお,各設定項目には,ユーザごとに,必要に応じて取得できる最大値を設定します。

表2-13 n-gramインデクスプラグインの環境定義ファイルに設定できる定義項目

種別環境設定項目パラメタ設定値環境を設定できる単位
登録一括登録時最大メモリサイズset phn_mem_build最大値(32ビット版の場合):2,097,152キロバイト
最大値(64ビット版の場合):3,670,016キロバイト
最小値:30,720キロバイト
デフォルト:51,200キロバイト
システム,ユニット,サーバ
1件登録時最大メモリサイズset phn_mem_insert最大値:2,097,152キロバイト
最小値:3,072キロバイト
デフォルト:51,200キロバイト
システム,ユニット,サーバ
全文検索および概念検索検索時最大ワークメモリサイズset phn_mem_search最大値(32ビット版の場合):2,097,152キロバイト
最大値(64ビット版の場合):4,194,303キロバイト
最小値:2,048キロバイト
デフォルト:20,480キロバイト
システム,ユニット,サーバ
検索用ワークファイルディレクトリset phn_dir_search最大長:200バイト(¥0を含む)
最小長:1バイト
UNIXの場合のデフォルト:HiRDB運用ディレクトリ/plugin/_phngram/tmp
Windowsの場合のデフォルト:HiRDB運用フォルダ¥plugin¥_phngram¥tmp
システム,ユニット,サーバ
検索オプションset phn_opt_searchmemoryまたはfile
デフォルト:memory
システム,ユニット,サーバ
同義語異表記展開用最大メモリサイズset phn_mem_expand最大値:2,097,152キロバイト
最小値:1キロバイト
デフォルト:0(無制限)
システム,ユニット,サーバ
異表記展開検索時の部分展開検索モードset phn_increment_practical_useonまたはoff
デフォルト:off
システム,ユニット,サーバ
スコア算出法指定set phn_opt_scorebooleanまたはtotal
デフォルト:boolean
システム,ユニット,サーバ
検索抑止インデクスサイズset phn_index_search最大値:2,097,152キロバイト
最小値:64キロバイト
デフォルト:2,097,152キロバイト
システム,ユニット,サーバ
最大同義語異表記展開数set phn_expand_counts最大値:1,000,000回
最小値:1回
デフォルト::0(無制限)
システム,ユニット,サーバ
拗音展開拡張モードset phn_expand_youon_mode0または1
デフォルト:0
システム,ユニット,サーバ
長音ハイフン展開拡張モードset phn_expand_chouon_mode0または1
デフォルト:0
システム,ユニット,サーバ
全文検索1文字近傍検索実行可否set phn_1gram_proximity_searchonまたはoff
デフォルト:on
システム,ユニット,サーバ
他列絞り込み率set phn_ratio_of_filtering最大値:100%
最小値:1%
デフォルト:20%
システム,ユニット,サーバ
概念検索検索用特徴ターム数指定set phn_concept_terms最大値:30個
最小値:1個
デフォルト:10個
システム,ユニット,サーバ
特徴ターム抽出しきい値set phn_concept_idf最大値:100%
最小値:1%
デフォルト:50%
システム,ユニット,サーバ
有効種文章サイズset phn_seed_bound_for_concept_rule最大値:5,120キロバイト
最小値:0キロバイト
デフォルト:5,120キロバイト
システム,ユニット,サーバ
登録・検索同時実行1RDエリア当たりの排他制御用共用メモリサイズset phn_lock_pool_size最大値:1,024キロバイト
最小値:8キロバイト
デフォルト:8キロバイト
サーバ
分割遅延登録分割遅延登録用ファイルオーバ時の処理set phn_delay_overcontinueまたはerror
デフォルト:continue
システム,ユニット,サーバ
分割遅延登録・更新系SQL同時実行の更新系SQL優先モードset phn_update_priorityonまたはoff
デフォルト:on
システム,ユニット,サーバ
運用インデクス用グローバルバッファ最適化指定set phn_global_buffer_mode0または1
デフォルト:0
システム,ユニット,サーバ
一括登録時最大メモリサイズ
n-gramインデクスに対する一括追加(CREATE INDEX,pdload)するときに使用する最大メモリサイズ(キロバイト)です。
パラレルサーバで表分割をしている場合,BESごとのメモリとなるため,メモリ空き容量に注意してください。
形式

set phn_mem_build=xxxx

1件登録時最大メモリサイズ
n-gramインデクスに1件追加(INSERT文,UPDATE文,pdloadのSYNCモード)するときに使用する最大メモリサイズ(キロバイト)です。
形式

set phn_mem_insert=xxxx

検索時最大ワークメモリサイズ
検索処理をするときに使用する作業用メモリの最大メモリサイズ(キロバイト)です。
パラレルサーバで表分割をしている場合,BESごとのメモリとなるため,メモリ空き容量に注意してください。
形式

set phn_mem_search=xxxx

検索用ワークファイルディレクトリ
検索オプションに,"set phn_opt_search=file"を指定した場合,検索に使用するワークファイルを作成するディレクトリ名を絶対パスで指定します。Text Search Plug-inは,検索開始時にファイル名が"swk"で始まるユニークなファイルを指定されたディレクトリに作成し,検索終了時に削除します。
検索が複数同時実行された場合,ディレクトリ競合による性能低下のおそれがあります。そのため,同一のBESに対して複数のユーザが同時に検索する運用の場合は,ファイルではなくメモリの使用をお勧めします。
なお,検索高速化インデクス(V2)機能を使用している場合は,指定しても無視されます。
形式

set phn_dir_search=xxxxxxxxxxxx

検索オプション
検索時の動作方法を指定します。
検索時最大ワークメモリサイズを超えた場合,エラーとするか検索用ワークファイルを使用するかを選択できます。
なお,検索高速化インデクス(V2)機能を使用している場合は,指定しても無視されます。
形式

set phn_opt_search=memory | file

  • memory
    メモリ上で動作します。set phn_mem_searchで指定したメモリサイズを超える場合は,メモリ不足エラーとなります。
  • file
    メモリおよび検索用ワークファイルで動作します。
同義語異表記展開用最大メモリサイズ
同義語異表記展開処理をするときに使用する最大メモリサイズ(キロバイト)です。0を指定した場合は,無制限となります。
同義語異表記展開用メモリサイズの見積もりについては,「2.3 リソースの見積もり」を参照してください。
なお,本パラメタは異表記展開検索時の部分展開検索モードが"on"(全展開検索モード)の場合に有効となります。
形式

set phn_mem_expand=xxxx

異表記展開検索時の部分展開検索モード
異表記展開検索時に,展開処理を部分的に実行するか,全面展開するかを指定します。この指定は,環境がシステム,ユニット,またはサーバの場合に有効です。
形式

set phn_increment_practical_use = on | off

  • on
    全展開検索モードで検索します。
  • off
    部分展開検索モードで検索します。
カタカナ異表記展開検索を実行する場合は,部分展開検索モード指定(off指定)をお勧めします。
スコア算出法指定
検索時のスコア算出法を指定します。
形式

set phn_opt_score = boolean | total

  • boolean
    論理演算時に,検索条件が論理積の場合は演算対象内で最小のスコアを最終スコアとし,論理和の場合は演算対象内で最大のスコアを最終スコアとします。
  • total
    論理演算時に,検索条件が論理積,論理和のどちらの場合でも,演算対象となるスコアの総和の値を最終スコアとします。
検索抑止インデクスサイズ
検索で使用するインデクスサイズの上限値を指定します。検索時に指定した上限値を超えるインデクスを参照すると,SQL連絡領域に次のメッセージが出力されます。

Index data for search exceeds maximum size.(XX)

メッセージの詳細については,「付録F エラーメッセージ」を参照してください。
なお,検索高速化インデクス(V2)機能を使用している場合は,指定しても無視されます。
形式

set phn_index_search = xxx

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

Expand search exceeds maximum counts.(XX)

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

set phn_expand_counts = xxxx

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

set phn_expand_youon_mode = 0 | 1

  • 0
    拡張しません。
  • 1
    拡張します。
長音ハイフン展開拡張モード
カタカナ長音・ハイフン展開を拡張するかどうかを指定します。拡張した場合は,カタカナ長音・ハイフン展開指定("L")のときに前後の文字に関係なく"ー"(長音),"-"(マイナス),"‐"(ハイフン),"―"(ダッシュ)の展開を行います。なお,カタカナ異表記指定("K")またはカタカナベーシック展開指定("B")と組み合わせて使用した場合とextracts関数のハイライト位置条件式で使用した場合は,指定しても無視されます。
形式

set phn_expand_chouon_mode = 0 | 1

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

set phn_1gram_proximity_search = on | off

  • on
    1文字のインデクスを使用する近傍検索や前方後方一致のワイルドカード検索を実行できます。
  • off
    1文字のインデクスを使用する近傍検索や前方後方一致のワイルドカード検索を実行するとエラーリターンして,SQL連絡領域に次のメッセージが出力されます。
     
    Cannot specify term of one character in proximity.
     
    メッセージの詳細については,「付録F エラーメッセージ」を参照してください。
他列絞り込み率
他列のインデクスで評価する条件による絞り込み結果の行識別子集合を検索高速化インデクス(V2)による全文検索で利用する場合の絞り込み率を指定します。
全文検索で使用するインデクスの最大ヒット件数(100件未満切り捨て)に対する他列のヒット件数の割合がこの指定以下の場合に絞り込み結果を利用します。ほかの条件による絞り込み率が良い場合には,その絞り込み結果を利用して検索高速化インデクス(V2)のサーチ範囲をさらに絞り込むため,高速に検索できます。
なお,パラレルサーバで表分割している場合,BESごとに絞り込み率が異なるため,絞り込み結果を利用するBESと利用しないBESが混在する場合があります。
形式

set phn_ratio_of_filtering=xxx

検索用特徴ターム数
概念検索で,検索条件の種文章から抽出した特徴タームのうち,検索で使用するターム(検索用特徴ターム)の個数の上限値を指定します。ターム数を増減することで,検索の幅を調整します。
より多くのタームを使用して幅広く検索したい場合は,検索用特徴ターム数の指定値を大きくします。ただし,ターム数を増やすと,ヒット件数が増えたり,検索に時間が掛かったりする場合があります。
形式

set phn_concept_terms=XXX

特徴ターム抽出しきい値
概念検索で,検索条件の種文章から検索用特徴タームを抽出する場合に,データベース中(全文書中)で出現頻度が高い(種文章を特徴付ける度合いが低い)特徴タームを除くためのしきい値です。抽出しきい値には出現頻度が何%以下の特徴タームを検索用特徴タームの候補にするかを指定します。
出現頻度が高いタームを除いてヒット件数をできるだけ抑えたい場合は,特徴ターム抽出しきい値の指定値を小さくします。ただし,抽出しきい値を小さくすると,種文章の内容によっては抽出されたタームがすべて除外対象となり,ヒット件数が0件となる場合があります。
例えば,抽出しきい値を10%に設定した場合,全体の10%を超える文書に出現する特徴タームは,検索用特徴タームの候補から除外されます。
形式

set phn_concept_idf=XXX

有効種文章サイズ
概念検索を有効にする種文章のサイズ(キロバイト)を指定します。
Text Search Plug-in Version 2以降,Version 1よりも幅広く検索用特徴タームを抽出し,データベース内を検索します。種文章のサイズがこの項目に指定した値を超えた場合は,Version 1のバージョンの概念検索を実行します。無条件でVersion 1のバージョンの概念検索を実行したい場合は,0を指定してください。
形式

set phn_seed_bound_for_concept_rule=xxx

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

set phn_lock_pool_size=xxxx

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

set phn_delay_over=continue | error

  • continue
    登録要求された文書は遅延せず,即時にインデクスを作成して登録します。
  • error
    エラーリターンします。
分割遅延登録・更新系SQL同時実行の更新系SQL優先モード
分割遅延登録・更新系SQL同時実行時に更新系SQLを優先するか,しない(分割遅延登録を優先する)かを指定します。
形式

set phn_update_priority = on | off

  • on
    更新系SQLを優先します。インデクス作成開始ユティリティで遅延データのインデクスが作成されない場合があります。
  • off
    更新系SQLを優先しません。インデクス作成開始ユティリティと排他が競合した場合,更新系SQLが排他失敗でエラーになるときがあります。
インデクス用グローバルバッファ最適化指定
インデクスにアクセスするときのHiRDB BLOB用グローバルバッファを最適化するかどうか指定します。最適化した場合,検索性能の向上が期待できます。
なお,検索高速化インデクス(V2)機能を使用している場合,バージョン09-05以降は指定できますが,09-05より前は指定しても無視されます。
形式

set phn_global_buffer_mode=0|1

  • 0
    最適化しません。
  • 1
    最適化します。
    検索用の管理データをファイル単位で優先してバッファリングします。各ファイルの優先付けについては,「5.2.1 グローバルバッファ管理の運用」を参照してください。

(3) 有効範囲

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