2.6 実行環境および運用に関する注意事項

この節では,テキストインデクサーの実行環境および運用に関する注意事項について説明します。

<この節の構成>
(1) テキストインデクサーの実行者
(2) テキストインデクサーの実行環境を作成するディレクトリについて
(3) HiRDBの起動
(4) テキストインデクサー(EDMTextIndex)の並列実行
(5) テキストインデクサー(EDMTextIndex)のテキスト抽出処理
(6) 効率的なインデクス登録処理について
(7) テキストインデクサーのコマンド実行時間
(8) MaxOfLengthとテキスト抽出の結果について
(9) テキストインデクサーを実行する場合のテキスト抽出用の一時ファイル作成ディレクトリについて
(10) PDFを示すRenditionTypeの値に[filterA]または[filterC]のフィルタ拡張子を付けて実行したとき
(11) テキストインデクサーがLimitTimeタイムアウトで終了したとき
(12) テキストインデクサーが対象とする文書クラス,および全文検索インデクスとして指定できるプロパティについて
(13) 定義ファイル生成コマンドを使用して定義ファイルを生成した場合の注意事項
(14) テキストインデクサー,DocumentBrokerおよびHiRDBの実行環境
(15) Document Filter for Text Searchのパス設定について
(16) テキスト抽出時の注意事項
(17) サブレンディションの文書からのテキスト抽出について
(18) EDMTextIndexコマンド実行時に-oオプションを指定した場合

(1) テキストインデクサーの実行者

テキストインデクサーの実行者は,Administratorsグループのメンバーである必要があります。

(2) テキストインデクサーの実行環境を作成するディレクトリについて

インストールディレクトリがテキストインデクサーの実行環境を作成するディレクトリになります。

(3) HiRDBの起動

テキストインデクサー実行時は,HiRDBを起動しておく必要があります。

(4) テキストインデクサー(EDMTextIndex)の並列実行

テキストインデクサー(EDMTextIndex)は,並列実行できません。同時に複数のテキストインデクサーを実行した場合はエラーになります。

(5) テキストインデクサー(EDMTextIndex)のテキスト抽出処理

テキストインデクサー(EDMTextIndex)は,テキスト抽出処理に時間が掛かることがあるのでDocumentBrokerサーバの運用停止中にバッチジョブで実行することを推奨します。

(6) 効率的なインデクス登録処理について

インデクス登録処理では,テキストインデクサー(EDMTextIndex)実行時に遅延一括作成機能を使用することで,効率的にインデクス登録できます。遅延一括作成機能を使用する場合は,HiRDBサーバ定義でpd_plugin_ixmk_dirを定義し,クライアントの環境変数PDPLGIXMK=YESを設定した環境でテキストインデクサーを実行します。テキストインデクサー終了後に,HiRDBデータベース再編成ユティリティを使用して遅延一括作成を実行します。

ただし,テキストインデクサーでインデクスファイルを作成し,現在遅延一括作成待ちとなっているインデクスファイル領域に対して,ユーザが別途書き込み処理をしようとするとHiRDBの遅延一括作成機能の仕様によってエラーになります。また,RDエリア単位に排他制御されるため,インデクスファイルが更新されているときは,そのインデクスファイルは検索対象とならなくなることがあります。

HiRDBデータベース再編成ユティリティについては,マニュアル「HiRDB コマンドリファレンス」を参照してください。

(7) テキストインデクサーのコマンド実行時間

テキストインデクサーの実行時に全体の処理時間の上限値を設定できます。ただし,テキストインデクサー実行中に,指定した処理時間の上限値に達すると処理を打ち切ります。それまでに処理した文書については全文検索インデクスへの登録を実行します。

(8) MaxOfLengthとテキスト抽出の結果について

テキスト抽出の結果,テキスト抽出ライブラリの付加情報と抽出したテキストとの合計の長さが,MaxOfLengthの値を超えない場合,抽出結果のすべてが格納されます。このとき格納されるテキストは,抽出されたテキストより付加情報分,テキスト長が長くなります。

テキスト抽出の結果,テキスト抽出ライブラリの付加情報と抽出したテキストとの合計の長さが,MaxOfLengthの値を超える場合,MaxOfLengthの値に合わせてテキスト抽出が打ち切られます。

ただし,XML文書のテキスト抽出では,メッセージKMBV12009-I出力後にKMBV12037-Wが出力され,テキスト抽出結果は登録されません。この場合は,MaxOfLengthの値をKMBV12037-Wのテキストデータ長に表示された値以上に設定して再度実行してください。

(9) テキストインデクサーを実行する場合のテキスト抽出用の一時ファイル作成ディレクトリについて

テキストインデクサーを実行する場合,環境変数ファイルのTMPDIRパラメタに次の一時ファイル作成ディレクトリを必ず作成してください。

ディレクトリ名には,存在し,かつテキストインデクサー実行者の書き込み権限があるディレクトリを指定してください。

(10) PDFを示すRenditionTypeの値に[filterA]または[filterC]のフィルタ拡張子を付けて実行したとき

RenditionType定義ファイルで,RenditionTypeの値とフィルタ拡張子の組み合わせが誤った状態でテキストインデクサーを実行すると,不正なテキストをインデクス登録する場合があるのでご注意ください。RenditionTypeの指定については,「3.4 RenditionType定義ファイル」を参照してください。

(11) テキストインデクサーがLimitTimeタイムアウトで終了したとき

テキストインデクサーでLimitTimeタイムアウトが発生した場合,コマンドは次のように終了します。

タイムアウトが発生する前にメッセージKMBV12047-Iが出力されている文書については正常に登録されます。

(12) テキストインデクサーが対象とする文書クラス,および全文検索インデクスとして指定できるプロパティについて

テキストインデクサーが処理対象にする文書クラス,およびその文書クラスに全文インデクスとして指定できるプロパティについては,「付録A 処理対象の全文検索インデクス用プロパティ」を参照してください。

(13) 定義ファイル生成コマンドを使用して定義ファイルを生成した場合の注意事項

定義ファイル生成コマンド(EDMCrtTIDF)を使用して定義ファイルを生成すると,半角空白を含むクラス名またはプロパティ名を出力することがあります。テキストインデクサーでは半角空白を含むクラス名またはプロパティ名を使用できませんので,半角空白を含むクラス名またはプロパティ名は半角空白を含まない名前に変更してから使用してください。

(14) テキストインデクサー,DocumentBrokerおよびHiRDBの実行環境

(15) Document Filter for Text Searchのパス設定について

テキストインデクサーを実行するためには,Document Filter for Text Searchのパス設定が必要です。環境変数にパスの設定が行われていることを確認してください。

Windows Server 2003,Windows Server 2003 R2の場合
「コントロールパネル」にある「システム」の詳細設定タブの「環境変数」ボタンをクリックして表示される「環境変数」ダイアログの「PATH」の設定
次のパスを追加してください。
  • <Document Filter for Text Searchのインストールディレクトリ>
  • <Document Filter for Text Searchのインストールディレクトリ>¥bin
Windows Server 2008の場合
「コントロールパネル」にある「システム」-「システムの詳細設定」の詳細設定タブの「環境変数」ボタンをクリックして表示される「環境変数」ダイアログの「PATH」の設定
次のパスを追加してください。
  • <Document Filter for Text Searchのインストールディレクトリ>
  • <Document Filter for Text Searchのインストールディレクトリ>¥bin

(16) テキスト抽出時の注意事項

(a) 一時ファイルについて

テキスト抽出処理中にプロセスを強制終了させたり,サポート外の文書ファイルを読み込ませたりすると,一時ディレクトリ内に一時ファイルが残る場合があります。一時ファイルの名前は特に決まっていません。一時ファイルができる場所は,次の順番で決定されます。

  1. 環境変数または環境変数ファイルTMPDIRに設定されているディレクトリ
  2. インストールディレクトリ下の¥tmp

この一時ファイルは,テキスト抽出処理が終われば不要になります。そのままにしておくとディスク容量が圧迫されますので,適宜削除してください。

なお,テキスト抽出できるドキュメントの種類については,各テキスト抽出ライブラリをご確認ください。

(b) テキスト抽出時の現象について

テキスト抽出する文書ファイルによっては,次のような現象が発生することがあります。

(c) PDFファイルについて

PDFファイルによっては次のような現象が発生しますので注意してください。

(17) サブレンディションの文書からのテキスト抽出について

(a) テキストインデクサー実行時の処理

テキストインデクサーの実行(EDMTextIndexの実行)では,RenditionType定義ファイルに指定したRenditionTypeがマスタレンディションのRenditionTypeと一致しない場合,サブレンディションのRenditionTypeを検索して,一致した文書に対してテキスト抽出を実行します。

(b) RenditionType定義ファイルに複数のRenditionTypeを指定した場合

先頭に指定したRenditionTypeと一致するRenditionTypeがマスタレンディションおよびサブレンディションに存在しない場合,次に指定したRenditionTypeと一致するRenditionTypeをマスタレンディション,サブレンディションの順に検索し,一致した文書に対してテキスト抽出を実行します。

文書オブジェクトの構成例を図2-4に示します。また,図2-4を例として,RenditionType定義ファイルの定義とテキストインデクサーが処理対象とする文書との関連について,例1~3で説明します。

図2-4 文書オブジェクトの構成例

[図データ]

例1

application/msword:filterA
application/vnd.ms-excel:filterA
application/pdf:filterB

この定義例では,一行目にWordの文書が指定されています。マスタレンディションにWordの文書が存在するため,文書Aがテキストインデクサーの処理対象文書になります。
例2

application/pdf:filterB
application/vnd.ms-excel:filterA
application/msword:filterA

この定義例では,一行目にPDFの文書が指定されています。マスタレンディション,サブレンディション1,サブレンディション2の順で検索した結果,サブレンディション2にPDFの文書が存在するため,文書Cがテキストインデクサーの処理対象文書になります。
例3

application/x-js-taro:filterA
application/vnd.lotus-1-2-3:filterA
application/vnd.ms-excel:filterA

この定義例では,一行目に一太郎の文書,二行目にLotus 1-2-3の文書が定義されています。それぞれの定義について,マスタレンディション,サブレンディション1,サブレンディション2の順で検索した結果,一太郎の文書およびLotus 1-2-3の文書は文書オブジェクト中にないため,一行目および二行目の定義に対する処理は実行されません。
三行目に定義されているExcelの文書が,マスタレンディション,サブレンディション1の順で検索した結果,サブレンディション1に存在するため,文書Bがテキストインデクサーの処理対象文書になります。

RenditionType定義ファイルへのRenditionTypeの指定については,「3.4 RenditionType定義ファイル」を参照してください。コマンドの詳細については,「4. コマンドリファレンス」を参照してください。

(18) EDMTextIndexコマンド実行時に-oオプションを指定した場合

EDMTextIndexコマンド実行時に-oオプションを指定すると,インデクスの登録状態に関係なく処理対象文書クラス中のすべての文書を処理対象とします。

登録済みのインデクスについては,文書実体ファイルから抽出したインデクスで上書きしますのでご注意ください。