Hitachi

HiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 10


3.2.11 phnincrword(文字列指定インクリメンタルユティリティ)

〈この項の構成〉

(1) 機能

このユティリティは,検索高速化インデクス(V2)機能を使用した場合だけ指定できます。

一つのn-gramタームにインクリメンタル(最適化)して隣接照合をなくすことができるため,隣接照合で時間の掛かる検索を高速に行えます。任意の文字列が指定できるので,検索頻度が高い文字列だけをインクリメンタルできます。そのため,インデクスサイズの増加を最小限にすることができ,性能向上が見込めます。なお,このユティリティを使用する場合は,文字統一指定を定義することをお勧めします。

(2) 実行者

HiRDB管理者が実行できます。

(3) 形式

phnincrword -d インデクス識別子 [-l ログ取得方式] [-q 世代番号] [-t インクリメンタル実行時間] [-w 同時実行指定] -f インクリメンタル対象定義ファイル名

(4) コマンド引数

-d インデクス識別子

インクリメンタル対象となるインデクス識別子を指定します。必ずインデクス作成時に指定したインデクス識別子を指定してください。

UNIXの場合

インデクス識別子を"(ダブルクォーテーション)で囲んだ場合は,英大文字と英小文字が区別されます。"で囲まない場合はすべて大文字として扱われます。また,インデクス識別子にスペースが含まれる場合は,"で囲む必要があります。なお,sh,cshおよびkshの場合は,さらに '(アポストロフィ)で囲む必要があります。

Windowsの場合

インデクス識別子を\"で囲んだ場合は,英大文字と英小文字が区別されます。\"で囲まない場合はすべて大文字として扱われます。また,インデクス識別子にスペースが含まれる場合は,"で囲む必要があります。

-l ログ取得方式

インクリメンタル処理でのログ取得方式を指定します。省略時は,"p"が設定されます。

a:ログ取得モードで実行します。

ロールバックおよびロールフォワードに必要なデータベース更新ログを取得します。インデクスのバックアップを取得する必要はありません。

p:更新前ログ取得モードで実行します。

ロールバックに必要なデータベース更新ログを取得します。インクリメンタル処理後,バックアップを取得する必要があります。

n:ログレスモードで実行します。

データベース更新ログを取得しません。インクリメンタル処理前およびインクリメンタル処理後にバックアップを取得する必要があります。

-q 世代番号

Staticizer Optionのインナレプリカ機能を使用する場合,処理対象とするRDエリアを0〜10の世代番号で指定します。指定を省略した場合は,カレントRDエリアが仮定されます。

  • 0:オリジナルRDエリアを対象とします。

  • 1〜10:指定した世代番号のRDエリアを対象とします。

このオペランドは,Staticizer Optionがインストールされていない場合は指定できません。

なお,インナレプリカ機能については,マニュアル「インナレプリカ機能 HiRDB Staticizer Option」を参照してください。

-t インクリメンタル実行時間

インデクスのインクリメンタルユティリティの実行時間を分単位で指定します。

実行時間は半角数字で0〜6,000の間で15分単位で指定してください。15の倍数でない値が指定された場合は,15分単位で切り上げられます。

実行時間に0を指定した場合,またはこのオペランドを省略した場合,インクリメンタル処理が完了するまで処理を続けます。

指定した実行時間でインクリメンタル処理が完了しなかった場合,ユティリティが指定時間を過ぎて終了した旨のメッセージを出力します。

時間指定で停止した際にインクリメンタルできなかった残りの文字列をインクリメンタルしたい場合は,最初に指定したファイルを再度指定して実行してください。インクリメンタル済みの文字列は処理が省略されます。

-w 同時実行指定

このユティリティと検索処理を同時に実行するかどうか,またはこのユティリティと分割遅延登録を同時に実行するかどうかを指定します。省略時は,"wait"が設定されます。

  • wait:同時実行しません。

  • nowait:登録・検索を同時実行します。

  • nowait_with_update:登録・検索同時実行に加えて,分割遅延登録・更新系SQLを同時実行します。

-f インクリメンタル対象定義ファイル名

インクリメンタルする文字列を記述したファイル名を絶対パスで指定します。

(5) インクリメンタル対象定義ファイル

インクリメンタル対象定義ファイルの規則および使用できる文字について説明します。

インクリメンタル対象定義ファイル規則
  • 改行区切りでインクリメンタルする文字列を指定してください。

    改行区切りは,WindowsではCR+LF(0x0d+0x0a)かLF(0x0a),UNIXではLFです。

  • 1行は253バイト(改行コード含む)以内にしてください。

  • 文字列前後の空白文字(全角スペースおよび半角スペース)は無視されます。次に例を示します。△は半角スペースです。

    (例)「△△日立製作所△△」は「日立製作所」となります。

  • 空行(空白文字だけの行)は無視されます。

  • タブコード(0x09)は指定できません。指定した場合はエラーとなります。

  • 20文字以上の文字列を指定した場合は先頭20文字を対象にインクリメンタルされます。次に例を示します。△は半角スペースです。

    (例1)「abcdefghijklmnopqrstuvwxyz」は「abcdefghijklmnopqrst」となります。

    (例2)「abcde△△△△△△△△△△△△△△△△△△△fgh」は「abcde」となります。

  • 指定可能なファイルの最大サイズは10MBです。

  • 対象のインデクスに文字統一指定がされている場合は,インクリメンタルする文字列を,文字統一後の文字列でインクリメンタルします。

  • 指定した文字列のインクリメンタル後のインデクスが存在する場合はその文字列は無視されます。

インクリメンタル対象定義ファイルで使用できる文字

HiRDBの文字コード種別によって,使用できる文字が異なります。文字コード種別ごとに表に示します。

なお,コードポイントU+00010000〜U+7FFFFFFFを含む文字列は使用できません。また,DELcode=ONを指定している場合,削除文字を無視して登録します。削除文字だけの文字列は登録されません。

(例)「日立製。作所」を指定した場合「日立製作所」で登録されます。

表3‒3 HiRDBの文字コード種別がSHIFT-JISの場合

文字コード

配置

1バイト目

2バイトコードの2バイト目

1バイト文字コード

0x20〜0x7E

0xA1〜0xDF

2バイト文字コード

0x81〜0x9F

0xE0〜0xFC

0x40〜0x7E

0x80〜0xFC

(凡例)

−:該当しません。

表3‒4 HiRDBの文字コード種別がEUCの場合

文字コード

配置

1バイト目

2バイトコードの2バイト目

1バイト文字コード

0x20〜0x7E

2バイト文字コード

0x8E

0xA1〜0xDF

0xA1〜0xFE

0xA1〜0xFE

(凡例)

−:該当しません。

表3‒5 HiRDBの文字コード種別がUTF-8の場合

コードポイント

1バイト目

2バイト目

3バイト目

U+00000009,

U+00000020〜U+0000007E

20〜7E

U+00000080〜U+000007FF

C280〜DFBF

U+00000800〜U+0000FFFF

E0A080〜EFBFBF

(凡例)

−:該当しません。

表内の文字コード表現は16進数です。

(6) 規則

このユティリティは,HiRDBが稼働中のときだけ実行できます。

(7) 注意事項