付録D 全文検索インデクスにUCS-4 の文字を使用する場合のデータベースの設定
ここでは,全文検索インデクスにUCS-4の文字を使用する場合のデータベースの設定について説明します。なお,次の条件をすべて満たす場合に,全文検索インデクスにUCS-4の文字を使用できます。
- UCS-2の範囲外の文字を使用する(UCS-4の範囲内の文字を使用する)
- データベースの文字コード種別がUTF-8である
- データベースのインデクスが差分インデクス以外である
データベースの設定には,HiRDB SQL ExecuterおよびHiRDB Text Search Plug-inのコマンドを使用します。また,設定を行う前にはDocumentBrokerサーバを停止してください。
データベースの設定手順を次に示します。
- RDエリアの空き容量が十分にあるかを確認します。
インデクスのUnicode TypeをUCS-4に変更するとき,インデクスを格納しているRDエリアの空き容量が十分にないと,HiRDB Text Search Plug-inのコマンド「phnmodidx(インデクス情報変更ユティリティ)」が異常終了します。そのため,UCS-4への移行作業を行う前にRDエリアの空き容量を確認してください。
UCS-4用のインデクスを使用するときのRDエリア容量の見積もりについては,マニュアル「HiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 8」を参照してください。
- データベースのバックアップを取得します。
- 次のディレクトリのバックアップを取得します。
<DocumentBrokerサーバの実行環境ディレクトリ>/etc
- HiRDB SQL Executerのコマンド「TABLEINF(指定した表の情報を表示)」を実行し,インデクスに使用する文書クラスのインデクス識別子およびRDエリアを確認します。
TABLEINF (文書クラス名);
<実行例>
文書クラスmdmClass_Documentのインデクス識別子とRDエリアを確認する場合
>TABLEINF "mdmClass_Document";
:
Index Type : PLUGIN(MASTER.NGRAM) INDEX
Index Name : "mdmClass_Document06"
Index ID : 0x000301e9(197097)
Column :
1 "edmProp_TextIndex"
RDAREA Name : IN (BLOBAREA10)
Option : PCTFREE=0
: |
- HiRDB Text Search Plug-inのコマンド「phnidxls(インデクス情報の取得ユティリティ)」を使用して,インデクスのUnicode Typeを確認します。
phnidxls -d インデクス識別子 -r RDエリア名
<実行例>
手順4.で指定した文書クラスmdmClass_DocumentのUnicode Typeを確認する場合
phnidxls -d "mdmClass_Document06" -r BLOBAREA10
Index Type CONCEPT
Concept Terms ON
Unicode Type UCS2
RD Area Size 14500 Segments
Index File Using Size 607 Segments
Free Size of Index File 10039 Segments( 99.98 %)
Available Work Area Size 729 Segments
Delete Character OFF
Number of Term 0
Number of Term for Increment 0
Index Size for Increment 0 Segments
Specified File Size for Sub Index 0 Segments
Sub Index File Using Size 0 Segments
Number of Documents for Index 0
Number of Documents for Sub-Index 0
Ratio of Condensable Documents 0.00 %
Ratio of Condensed Index 0.00 %
Number of No Condensed Index 0 Segments
Delay Status CREATEMODE=0
Number of Documents for Unfinished-Index 0
Size of Delay File 0
Size of Original Concept File 579 Segments
Max Page of Original Concept File 3250 Segments |
- HiRDB Text Search Plug-inのコマンド「phnmodidx(インデクス情報変更ユティリティ)」を使用して,インデクスのUnicode TypeをUCS-4に変更します。
phnmodidx -d インデクス識別子 -v INDEX_TYPE=UCS4
<実行例>
手順4.で指定した文書クラスmdmClass_DocumentのUnicode TypeをUCS-4に変更する場合
>phnmodidx -d "mdmClass_Document06" -v INDEX_TYPE=UCS4
KFPL28904-I Transaction commit |
- HiRDB Text Search Plug-inのphnidxlsコマンドを使用して,変更後のUnicode Typeを確認します。
phnidxls -d インデクス識別子 -r RDエリア名
<実行例>
手順4.で指定した文書クラスmdmClass_Documentの変更後のUnicode Typeを確認する場合
>phnidxls -d "mdmClass_Document06" -r BLOBAREA10
Index Type CONCEPT
Concept Terms ON
Unicode Type UCS4
RD Area Size 14500 Segments
Index File Using Size 635 Segments
Free Size of Index File 10039 Segments( 99.98 %)
Available Work Area Size 727 Segments
Delete Character OFF
Number of Term 0
Number of Term for Increment 0
Index Size for Increment 0 Segments
Specified File Size for Sub Index 0 Segments
Sub Index File Using Size 0 Segments
Number of Documents for Index 0
Number of Documents for Sub-Index 0
Ratio of Condensable Documents 0.00 %
Ratio of Condensed Index 0.00 %
Number of No Condensed Index 0 Segments
Delay Status CREATEMODE=0
Number of Documents for Unfinished-Index 0
Size of Delay File 0
Size of Original Concept File 579 Segments
Max Page of Original Concept File 3250 Segments |
- 注意
- 前記の設定作業を行ったあとに全文検索インデクスを再登録してください。全文検索インデクスを再登録しないと,UCS-2にはなくUCS-4だけにある文字は検索対象になりません。
- 参考
- データベースの設定時にHiRDB Text Search Plug-inのコマンドが異常終了した場合,次の対策を実施し,再度設定を行ってください。
- 手順2.で作成したバックアップを使用して,データベースを回復します。
- 手順3.で作成したバックアップを使用して,DocumentBrokerのメタデータを回復します。
- 異常終了時に出力されたエラーメッセージを参照して,エラーの要因を取り除きます。
- 手順4.から再度設定を行います。