Comments
Description
Transcript
2 - Xythos
Xythos Document Manager Ver7.2 ECM for Everyone 改版履歴 日付 版数 2013 年 11 月 5 日 初版 更新内容 Xythos Document Manager Ver7.2 SP6 リリース i Xythos Document Manager Ver7.2 ECM for Everyone 免責事項 (本マニュアル内の記述について) 画面名、ダイアログ名、項目名、ボタン名などは[ ]囲みで表現しています。 マニュアル中、画面イメージが挿入されている場合には、文章との整合性を取るため、丸囲み数字と色付罫線によっ てボタンや表記などをクローズアップしております。これらはマニュアル用のはめ込み画像ですので、実際に表示さ れているわけではありません。 このマニュアルは、パーソナルコンピュータおよびタッチデバイスの基本操作を習得していることを前提に説明してい ます。 (商標) Xythos、Xythos Document Manager、Xythos Digital Locker、Xythos Enterprise Document Manager、Xythos Drive は、Blackboard Inc.の登録商標または商標です。 記載されている会社名、製品名、サービス名は、各社の登録商標または商標です。 本文中の各社の登録商標または商標には、™、®マークは表示しておりません。 (注意事項) このアプリケーションおよびマニュアルの一部または全部を無断で使用・複製することは、禁止されています。 このアプリケーションの仕様およびマニュアルに記載されている事柄は、将来予告なしに変更されることがあります。 ii Xythos Document Manager Ver7.2 ECM for Everyone 目 次 第1章 1-1 1-2 第2章 はじめに......................................................................................................................................... 1 対象とする読者..................................................................................................................................... 1 検索機能の概要 ................................................................................................................................... 1 検索機能のシステム構成 ................................................................................................................ 2 2-1 パースおよびインデクシング処理のフロー ............................................................................................. 2 2-1-1 イベントベースのインデクシング処理が有効な場合......................................................................... 2 2-1-2 イベントベースのインデクシング処理が無効な場合......................................................................... 4 第3章 XYTHOS 管理者画面の設定 ......................................................................................................... 6 3-1 スレッドの動作設定 ............................................................................................................................... 6 3-1-1 設定方法 ....................................................................................................................................... 6 3-1-2 主な設定例 ................................................................................................................................... 6 3-2 インデクシング処理に関わる設定 .......................................................................................................... 7 3-3 検索に関わる設定 ................................................................................................................................ 8 第4章 4-1 4-2 第5章 5-1 5-2 5-3 5-4 第6章 VERIFYINDEX の利用方法 ....................................................................................................... 10 利用方法 ............................................................................................................................................ 10 実行例................................................................................................................................................ 12 メンテナンス ................................................................................................................................. 14 インデクシング処理の統計情報 ........................................................................................................... 14 インデックスファイルの状態 ................................................................................................................. 16 インデクシング処理の停止について .................................................................................................... 17 インデックスファイルのバックアップ ...................................................................................................... 18 注意事項等 .................................................................................................................................. 19 iii Xythos Document Manager Ver7.2 ECM for Everyone 第1章 はじめに 1-1 対象とする読者 本書は Xythos 管理者を対象にし、Ver.7.2 SP6 において大幅に改良された検索機能に関する動作仕様や設定に ついて説明します。Xythos 管理者ガイド、および製品付属のドキュメント(英語)もあわせてお読みください。 製品付属の検索関連ドキュメント [XYTHOS_HOME]/wfs-x.y.z/docs/en/reference/search.html [XYTHOS_HOME]/wfs-x.y.z/docs/en/utilities/verify_index.html 1-2 検索機能の概要 Xythos Ver. 7.2 SP6 において、インデクシング処理のアーキテクチャの見直しが行われ、より大規模なシステム においてもインデックスを利用した検索機能が利用可能となりました。 これまでの Xythos では、ファイルをパースしてテキストデータを抽出する処理や抽出したデータをインデックスファ イルに追加するまでの処理を 1 つのプロセスが排他的にシリアルに行っており、十分なパフォーマンスを得ることが できませんでした。Xythos Ver. 7.2 SP6 では、それぞれの処理は独立した Java スレッドに分割され実行されるよう になりました。さらに、データベースを利用して処理待ちの状況(キュー)を管理されるよになり、キューに従ってそれぞ れの Java スレッドが動作することで、より安全により高速に処理が行われます。 また、インデクシング処理やインデックスファイルの状態を確認する方法も追加されました。これによりシステム管 理者はインデクシング処理の実行状況やエラー発生の有無を容易に確認することが可能になり、適切な対応を行え るようになりました。 1 Xythos Document Manager Ver7.2 ECM for Everyone 第2章 検索機能のシステム構成 2-1 パースおよびインデクシング処理のフロー 2-1-1 イベントベースのインデクシング処理が有効な場合 Java Thread on Tomcat 項目 Event Based Indexing Thread 説明 スレッド数 ユーザによって行われたインデックス更新の必要なイベント(ファイル アップロード、名前変更等)を検知し、パース用キューテーブルにレコ N/A ードを追加します。 パース用キューテーブルからレコードを読み取り、実ファイルからテ キストの抽出処理を行います。 その後、パースした結果ファイルをパース結果保存用ディレクトリに Content Parser Thread 保存します。また、パースが終わったエントリのデータをインデックス 更新用キューテーブルに追加します。 パースを終えたレコードはパース用キューテーブルから削除されま す。 2 0 ~ 20 (default value : 2) Xythos Document Manager Ver7.2 ECM for Everyone 実ファイルからテキストの抽出処理を行うためのライブラリ(パーサフ ァクトリ)の設定は下記のメニューで行います。 サーバ管理 - サーチ - コンテント・パーサファクトリ インデックス更新用キューテーブルからレコードを読み取り、インデッ クス更新処理を開始します。 Index Upater Thread その後、パース結果ファイルを読み取り、インデックスファイルの更 0 or 1 新を行います。 (default value : 1) インデックス更新処理を終えたレコードはインデックス更新用テーブ ルから削除されます。 データベースとインデックスファイルを比較し、存在しないエントリの チェックと対応するインデックスの削除を行います。 イベントベースのインデクシング処理が有効な場合には、エントリが Index Unorphaner Thread 削除されるとすぐにインデックスファイルからも該当するインデックス が削除されますが、何らかの理由でインデックスファイルからの削除 されなかった場合でも、Index Unorphaner Thread によって削除さ 0 or 1 (default value : 1) れます。また、イベントベースのインデクシング処理が無効な場合に は、Index Unorphaner Thread による削除が行われるまで削除され たエントリに対するインデックスが残ったままになります。 ※ Event Based Indexing Thread は正式名称ではありません。実際には Xythos サーバ上で発生するすべてのイ ベントを検知する Java スレッドですが、本書では便宜上 Event Based Indexing Thread と表記しています。 Database 下記のテーブルは各ドキュメントストアに作成されます。 テーブル 説明 パース処理用のキューテーブルです。 XYF_PARSE_QUEUE Event Based Indexing Thread または verifyIndex によってレコードが追加され、Content Parser Thread はレコードが読み取りパース処理を開始します。 レコード数を確認することでパース処理待ちになっているエントリ数を確認できます。 インデックス更新処理用のキューテーブルです。 Content Parser Thread によってパース処理が終わったエントリに対応するレコードが追加さ XYF_INDEX_QUEUE れます。Index Updater はレコードを読み取り、パース結果ファイルを利用してインデックスフ ァイルの更新を行います。 レコード数を確認することでインデックス更新処理待ちになっているエントリ数を確認できま す。 Index files INDEX_DIR は、Xythos 管理者画面で設定されたインデックスファイル保存用ディレクトリで、各 AP サーバから読 み書き可能な状態である必要があります。 ディレクトリ / ファイル 説明 実際のインデックスファイルが保存されます。 [INDEX_DIR]/index インデックスは複数のインデックスファイルで構成されており、各インデックスファイルのサイ ズはばらばらになります。インデックス更新処理においてインデックスファイルのマージが行わ れるため、ある時点のインデックスファイル構成はファイルサイズもばらばらのファイルが複数 3 Xythos Document Manager Ver7.2 ECM for Everyone 存在します。インデックスファイルがマージされるしきい値は Xythos 管理者画面の設定に従 います。 インデックスファイルの合計サイズはファイル内に含まれているテキスト量に依存しますが、 Xythos サーバで管理されている実ファイルサイズ合計のおおよそ 10~30%となります。 パース結果ファイルが保存されます。 [INDEX_DIR]/xyparsed パース結果ファイルのサイズはファイル内のテキスト量に依存し変動しますが、ファイル内テ キストをテキストファイルとして保存したサイズが目安となります。作成されるファイル数は Xythos 管理者画面の設定に従います。 [INDEX_DIR]/temp 2-1-2 ファイルのパース処理、インデックス更新処理では利用されません。 イベントベースのインデクシング処理が無効な場合 Xythos Ver. 7.2 SP6 以降では、これまで提供されてきた apirun プログラムである verifySearchData が廃止され、 verifyIndex が新たに提供されました。 verifySearchData では、ファイルのパース処理とインデックス更新処理を行っていましたが、これらの機能はすべ て Tomcat 上の Java スレッドで行われるように仕様が変更されました。これにより、verifyIndex ではインデックス更 新に関連する機能としてパース用キューテーブルにパース対象のレコードを追加する機能のみ行えるようになってい ます。 インベントベースのインデクシング処理が無効である場合には、ユーザの操作に応じて自動的にパース用キュー 4 Xythos Document Manager Ver7.2 ECM for Everyone テーブルにレコードが追加されないため、定期的に verifyIndex を利用してパース用キューテーブルに対象エントリに 関するデータを追加しなければなりません。パース用キューテーブルに追加された後の処理はイベントベースのイン デクシング処理が有効である場合と同様です。 verifyIndex の使い方については「第 4 章 verifyIndex の利用方法」を参照してください。 5 Xythos Document Manager Ver7.2 ECM for Everyone 第3章 Xythos 管理者画面の設定 3-1 スレッドの動作設定 3-1-1 設定方法 インデクシング処理に関わる 3 つの Java スレッドは、AP サーバで動作するスレッド数を変更することが可能です。 また、スレッド数の設定はサーバグループ単位で行います。 設定メニュー サーバ管理 - スレッド設定 スレッド数を変更するには目的のスレッドの[設定]ボタンを押下してください。 Content Parser (0~20, default value is 2) Index Updater (0 or 1, default value is 1) Index Unorphaner (0 or 1, default value is 1) 3-1-2 主な設定例 単一 AP サーバ構成で検索機能を利用するためには、その AP サーバ上ですべてのスレッドを動作させなければ ならないため、インストール後の状態(Content Parser : 2 / Index Updater : 1 / Index Unorphaner : 1)を変更する必 要はありません。検索機能を利用しない場合には各スレッドの数を 0 に設定します。 一方、1,000 万ファイルを超えるような大規模なシステムにおいては、インデクシング処理を行う専用のサーバグ ループを作成し、インデクシング処理を行うために AP サーバを用意することが推奨されています。 default サーバグループ Content Parser : 0 Index Updater : 0 Index Unorphaner : 0 6 Xythos Document Manager Ver7.2 ECM for Everyone Indexing サーバグループ Content Parser : 20 Index Updater : 1 Index Unorphaner : 1 3-2 インデクシング処理に関わる設定 インデクシング処理を開始するには事前に関連する設定を行う必要があります。 設定メニュー サーバ管理 - サーチ - サーチ・パラメータ 項目 説明 インデックスディレクト インデックスファイルやパース結果ファイルの保存ディレクト リ・ロケーション リです。本書では INDEX_DIR として表記しています。 利用不可のインデック スディレクトリに関する 重大なエラーをレポー ト デフォルト値 (空欄) チェックを入れると、INDEX_DIR に問題(ディスク空き容量 不足など)が発生した場合に、それを重要なシステムイベン トとしてシステム管理者に通知します。 チェックを入れない場合でも Xythos トレースログへの出力 は行われます。 7 チェック(オン) Xythos Document Manager Ver7.2 ECM for Everyone イベント・ベースのイン チェックを入れるとイベントベースのインデクシング処理が デックスの可否 有効になります。 アンチェック(オフ) インデックスを作成するファイルのサイズによるしきい値で インデックスを付ける す。 最大サイズ 設定した値よりも大きなファイルサイズのファイルはインデ 10000000 ックスが作成されません。 事前解析されるファイ [INDEX_DIR]/xyparsed ディレクトリに作成されるパース結 ルの最大数 果ファイルの最大ファイル数です。 2000 インデックスファイルをマージするしきい値です。 設定した値を超えてインデックスファイルが作成されると、 インデックスマージファ それらのインデックスファイルは 1 つのインデックスファイル クタ にマージされます。値を大きくすることでマージの回数を減 50 らすことが可能ですが、マージにかかる時間も長くかかりま す。 コンテント・インデックス インデックスファイルの解析を行う Class ファイルを指定しま org.apache.lucene.analysis.sta アナライザクラス す。 ndard.StandardAnalyzer インデックス作成を行わないファイル拡張子を指定します。 exe,dll,zip,jpg,gif,tif,tiff,dmp インデックスを付けな いファイル拡張子 また、サーバパラメータを直接変更することで下記の設定を変更できます。これらの値は特に理由のない限り変更 する必要はありません。 設定メニュー サーバ管理 - ステータス - 詳細 パラメータ 説明 デフォルト値 Index Updater Thread によるインデックス Xythos.Search.IndexLockReleaseInterval 更新処理において、1 回の実行でインデック スファイルをオープンし続けたまま処理を行 5000 うエントリ数を指定します。 Index Unorphaner Thread によるインデック Xythos.Search.IndexUnorphanerBatchSize ス削除処理において、1 回の実行でチェック 100 を行うエントリ数です。 Index Unorphaner Thread は、その処理の Xythos.Search.IndexUnorphanerPauseSeconds 実行終了後、設定した秒数だけ動作を停止 10 します。 Ver.7.2 SP5 以前は、自動的に行われる最適化処理のエントリ数を指定するために下記のパラメータを利用し ていました。Ver. 7.2 SP6 以降では、設定値に関わらず最適化処理の自動実行は行われません。最適化処理 は verifyIndex の optimize アクションでのみ行えます。 Xythos.Internal.SearchIndexOptimizeSize ※ 3-3 検索に関わる設定 検索に関連する設定(ユーザによる検索が行われた時の動作に関する設定)には下記のようなものがあります。 8 Xythos Document Manager Ver7.2 ECM for Everyone パラメータ 説明 デフォルト値 本パラメータを利用すると指定したディレクトリからの検索実 行を制限することが可能です。 例えば、システム負荷を軽減するために/(ルート)やいくつか 検索ロケーションの制限 の最上位ディレクトリからの検索を制限するには下記のよう に設定します。 検索制限をしな い これらのユーザを制限 : すべてのユーザ これらのディレクトリ内の検索から : /,/home,/shared01 ユーザが行った検索要求は、Xythos サーバにおいて DASL クエリとして実行されます。そのため、実行された DASL クエ リが本パラメータで設定された秒数を超えるとユーザ側には サーバ管理 - パフォーマンスと割 検索がタイムアウトしたというメッセージが表示され、検索結 当 - DASL クエリの最大実行時間 果が表示されません。 120 大規模なシステムでサーバリソースに余裕がある場合には、 この値を大きくすることでタイムアウトの発生を抑制すること が可能です。 本パラメータはインデックスファイルを利用した検索において のみ利用されます。対象となる検索条件は下記の通りです。 サーバ管理 - HTTP と WebDAV 基本 - インデックス検索の最大レス ポンス数 クイック・サーチ 基本サーチおよび詳細サーチにおいて、“ファイル内の 語句”、“名前 / タグ / ファイル内の語句”による検索 これらの検索では検索結果の上限が本パラメータの設定値 150 に制限されます。 データベースを利用した検索においては利用されず、データ ベースのみを対象にした検索においては検索結果として得ら れる件数に上限はありません。 本パラメータは、インデックスファイルを対象にした検索とデー サーバ管理 - HTTP と WebDAV 基本 - インデックス検索における最 大検索回数 タベースを対象にした検索の複合条件で検索が実行された 場合のみ利用されます。そのような場合には、インデックスフ ァイルを対象にした検索が本パラメータの回数を上限として 実施され、それぞれの検索結果の上限には“インデックス検 索の最大レスポンス数”が適用されます。 9 2 Xythos Document Manager Ver7.2 ECM for Everyone 第4章 verifyIndex の利用方法 4-1 利用方法 veriyIndex は[XYTHOS_HOME]/wfs-x.y.z/utils に保存されています。 Windows の場合 [XYTHOS_HOME]¥wfs-x.y.z¥utils¥verifyIndex.bat Linux の場合 [XYTHOS_HOME]/wfs-x.y.z/utils/verifyIndex.sh 以降では、特に理由のない限り Linux 環境における利用方法について説明します。Windows 環境でご利用の場 合には適宜読み替えてください。 実行方法 $ ./verifyIndex.sh -a <action> [-o <log file> -os -p <path> -ss <status> -t <runtime> -vf <filter> -vs <virtual server> -xl <trace log>] -a <action> 実行に必須なパラメータで、verifyIndex のアクションを指定します。<action>に指定できるパラメータは下記の通 りです。 action 説明 アクセス権と実ファイルの MD5 を利用し、これまでにインデックスが作成されていないエントリをパー verify ス用キューテーブルに追加します。 初めて実行する場合には rebuild による実行と同等です。 fullverify rebuild verify と同様の処理を、過去の実行時に失敗したエントリも対象に処理を行います。 すべてのエントリを対象にしてパース用キューテーブルに追加します。 すべてのインデックスファイルを 1 つのインデックスファイルにマージする処理(最適化処理)を行いま す。 これにより検索実行時のパフォーマンスは向上しますが、下記の点に注意してださい。 処理実行中はすべてのインデックスファイルがロックされるため、インデックス更新処理と検索気 のは利用できません。 optimize ファイルのマージ処理を行うためディスク I/O に負荷がかかります。 インデックスファイルの状態によっては非常に大きなファイルが作成され、処理完了まで時間が かかる場合があります。 最適化処理を行わない場合でも、Xythos 管理者画面の設定に従ってインデックスファイルのマ 可能な限りすべての AP サーバを停止した状態で実行してください。 ージは行われます。最適化処理は 1 つのファイルにマージする処理を言います。 checkorphans fixorphans インデックスファイル内に既にシステムから削除されたエントリのインデックスが残っているかどうかを 確認します。削除されたエントリに対するインデックスは fixorphans によるっ実行で削除されます。 既にシステムから削除されたエントリに対するインデックスを削除します。 10 Xythos Document Manager Ver7.2 ECM for Everyone Xythos サーバ上のエントリを対象にして、インデックスの作成有無を確認します。 表示されるステータスの種類は下記の通りです。 INDXD CTCHG 正しくインデックスが作成されています。 インデックスが作成されてからファイル内容が更新されています。 CTFLD パースに失敗し、インデックスが作成されていません。 status EXCLM ファイルサイズが 0、または拡張子の制限によってインデックスが作成されていません。 EXCLP 以前は EXCLM と同じ理由でインデックスが作成されていませんでしたが、現在は作成されてい ます。インデクシング処理に関する設定が変更された可能性があります。 MDCHG MSSNG インデックスが作成されてからアクセス権やタグといった情報が変更されています。 本来はインデックスが作成されているべきにも関わらず、インデックスが存在しません。例えばイ ンデックスが作成されてから名前が変更された場合が該当します。 indexstats インデックスファイルの詳細情報を出力します。 -o, --logfile <log file> verifyIndex 実行ログファイルまたは結果ファイルの出力先をファイルシステムのフルパスで指定します。未指定の 場合には標準出力に出力されます。 -os, --omitscheduled status アクションにおいて、インデックス更新用のキューに登録されているエントリを除外する場合に指定します。 -p, --path <path> 対象とする Xythos サーバ上のディレクトリをフルパスで指定します。未指定の場合にはすべてのディレクトリが対 象になりますが、指定した場合には/(ルート)を指定することはできません。また、-vs オプションも合わせて指定する 必要があります。また、status アクションにおいては必須パラメータとなります。このオプションは、アクションとして verify、fullverify、rebuild、status のいずれかを指定した場合のみ利用されます。 -ss, --skipstatuses <status> status アクションにおいて、出力しないステータスを指定します。指定できるステータスは下記の通りです。複数の ステータスを指定する場合には、半角スペースを含めずに,(コンマ)で結んで指定してください。 status 対応するステータス (status アクションで表示される値) INDEXED INDXD CONTENT_CHANGED CTCHG CONTENT_FAILED CTFLD EXCLUDED_MISSING EXCLM EXCLUDED_PRESENT EXCLP METADATA_CHANGED MDCHG MISSING MSSNG 11 Xythos Document Manager Ver7.2 ECM for Everyone -t, --maxruntimeminutes <runtime> 処理の実行時間を分単位で指定します。未指定の場合には処理が終了するまで実行されます。このオプションは、 アクションとして verify、fullverify、rebuild、status のいずれかを指定した場合のみ利用されます。 -vf, --verificationfilter <filter> ○○日時が<filer>で指定した期間に含まれるエントリのみを対象にします。<filter>の指定方法は下記の表を参 照してください。このオプションは、アクションとして verify、fullverify、rebuild、status のいずれかを指定した場合のみ 利用されます。 filter format 説明 + は、指定する期間以降のエントリを対象にします。 +- - は、指定する期間以降のエントリを対象にします。 数字 期間の数値を指定します。 期間の単位を指定します。利用可能な単位は下記の通りです。 単位 y 年 d 日 h 時間 m 分 s 秒 <filter>は[+-][数字][単位]のように指定し、例としては記のようになります。 +30d 30 日前から現在までのエントリが対象 -15m 現在から 15 分前以前のエントリが対象 -vs, --virtualserver <virtual server> 対象とする仮想サーバを指定します。未指定の場合にはすべての仮想サーバが対象になりますが、-p オプション (status アクションにおいては必須)を利用する場合には必ず指定してください。このオプションは、アクションとして verify、fullverify、rebuild、status のいずれかを指定した場合のみ利用されます。 -xl, --xythoslogfile <trace log> Xythos トレースログファイルの出力先をファイルシステムのフルパスで指定します。未指定の場合には標準出力 に出力されます。出力されるログは Xythos 管理者によって設定されているロギングのトレースに従います。 4-2 実行例 ディレクトリを指定して更新されたエントリをパース用キューテーブルに追加する $ ./verifyIndex.sh -a verify -p /shared01 -vs xythos -o /tmp/logs/verifyrun.log -xl /tmp/logs/trace.log 削除されたエントリを確認する $ ./verifyIndex.sh -a checkorphans-o /tmp/logs/checkorphan.log -xl /tmp/logs/trace.log インデックスファイルの最適化処理を行う 12 Xythos Document Manager Ver7.2 ECM for Everyone $ ./verifyIndex.sh -a optimize-o /tmp/logs/optimize.log -xl /tmp/logs/trace.log インデクシング状態を確認する(既にインデクシング処理待ちになっているエントリは除く) $ ./verifyIndex.sh -a status -p /shared01 -vs xythos -o /tmp/logs/status.txt -xl /tmp/logs/trace.log -os ステータスを絞り込んでインデクシング状態を確認する(EXCLUDED_MISSING と EXCLUDED_PRESENT を除く) $ ./verifyIndex.sh -a status -p /shared01 -vs xythos -o /tmp/logs/status.txt -xl /tmp/logs/trace.log -ss EXCLUDED_MISSING,EXCLUDED_PRESENT 20 日以内に更新されたエントリのインデクシング状態を確認する $ ./verifyIndex.sh -a status -p /shared01 -vs xythos -o /tmp/logs/status.txt -xl /tmp/logs/trace.log -vf +20d インデックスファイルの状態を確認する $ ./verifyIndex.sh -a indexstats -o /tmp/logs/status.txt -xl /tmp/logs/trace.log 13 Xythos Document Manager Ver7.2 ECM for Everyone 第5章 メンテナンス 5-1 インデクシング処理の統計情報 インデクシング処理の統計情報は Xythos 管理者画面から AP サーバごとに確認することができます。この統計情 報は Tomcat が起動してから終了するまでのデータであり、Tomcat を再起動すると統計情報はリセットされます。 メニュー名 サーバ管理 - ステータス - インデックス 表示内容 説明 インデクシング処理に関するキューデータは、データベース上の各キューテーブ インデックスキューサイズ(メモリ) ルに追加される前に一旦メモリ上に保持されます。通常、メモリ上のキューデー タは即座にキューテーブルに登録されメモリ上からは削除されるため、多くの場 合には件数が表示されることはありません。 14 Xythos Document Manager Ver7.2 ECM for Everyone 件数が減らない、または増え続けている場合には何らかの異常が生じている可 能性があります。 解析したファイルストレージ [INDEX_DIR]/xyparsed ディレクトリ(パース結果ファイルの保存先ディレクトリ) のフルパスが表示されます。 [INDEX_DIR]/xyparsed ディレクトリ内に存在するファイルサイズ合計が表示さ れます。 パ ース結果フ ァ イ ルは Content Parser Thread に よっ て 作成さ れ、 Index 解析したファイルストレージサイズ(シ Updater Thread によるインデックス更新処理が終わると削除されます。そのた ステム全体) め、通常運用中のシステムでは、これらの Java スレッドが動作している限りにお いてはページを表示する度にサイズが変動します。常に同じサイズが表示され る場合には、いずれかの Java スレッドが停止しているか、何らかの異常が生じ ている可能性があります。 各ドキュメントストアの XYF_PARSE_QUEUE テーブルに存在するレコード数合 計が表示されます。 Event Based Indexing Thread または verifyIndex によってレコードが追加され、 Content Parser Thread によるパース結果ファイルの作成が終わるとレコードは 解析用にキューに入ったエントリ(シス 削除されます。そのため、通常運用中のシステムでは、これらの Java スレッドま テム全体) たは verifyIndex が動作している限りにおいてはページを表示する度にエントリ 数が変動します。常に同じエントリ数が表示される場合には、イベントベースのイ ンデクシング処理が無効になっていて verifyIndex を動作していない、Content Parser Thread が停止している、または、何らかの異常が生じている可能性があ ります。 各ドキュメントストアの XYF_INDEX_QUEUE テーブルに存在するレコード数合 計が表示されます。 Content Parser Thread によってレコードが追加され、Index Updater Thread に インデックス用にキューに入ったエント よるインデックス更新処理が終わるとレコードが削除されます。そのため、通常 リ(システム全体) 運用中のシステムでは、これらの Java スレッドが動作している限りにおいてはペ ージを表示する度にエントリ数が変動します。常に同じエントリ数が表示される場 合には、いずれかの Java スレッドが停止しているか、何らかの異常が生じてい る可能性があります。 サーバ開始時に解析用にキューに入 Tomcat 起動時に各ドキュメントストアの XYF_PARSE_QUEUE テーブルに存在 ったエントリ していたレコード数合計が表示されます。 サーバ開始時にインデックス用にキュ Tomcat 起動時に各ドキュメントストアの XYF_INDEX_QUEUE テーブルに存在 ーに入ったエントリ していたレコード数合計が表示されます。 エントリをインデックスする平均時間 エントリをインデックスする最大時間 エントリが XY_PARSE_QUEUE テーブルに追加されてから、インデックス更新 処理が終了するまでに要した平均時間(秒)です。 エントリが XY_PARSE_QUEUE テーブルに追加されてから、インデックス更新 処理が終了するまでに要した最大時間(秒)です。 エントリが XY_PARSE_QUEUE テーブルに追加されてから、インデックス更新 処理が終了するまでに要した平均時間(秒)と処理されたエントリ数合計を基に計 ドキュメント全体のインデックス更新/ 毎秒 算された 1 秒あたりの処理件数です。 例えば verifyIindex を利用してパース用キューテーブルにレコードを追加した場 合などには、キューテーブルへの追加からインデックス更新処理まである程度の 時間が経過してしまうため、表示された値のみでインデクシング処理のパフォー マンスを計測することはできません。あくまで目安としてご利用ください。 処理されたインデックスリクエスト インデックス更新が終了したエントリ数の合計です。 15 Xythos Document Manager Ver7.2 ECM for Everyone Content Parser のスレッド数 インデックスオープンの平均時間 インデックスクローズの平均時間 インデックスのオープン数 インデックスのロールバック数 表示している AP サーバ上で動作している Content Parse Thread の数です。 インデックス更新処理においてインデックスファイルをオープンするために要した 平均時間(秒)です。 インデックス更新処理においてインデックスファイルをクローズするために要した 平均時間(秒)です。 インデックス更新処理においてインデックスファイルをオープンした回数です。 インデックス更新処理においてインデックスファイルを開く際にエラーが発生し、 処理を中止した回数です。 検索クエリの平均実行時間 ユーザによって行われた検索の実行に要した平均時間(秒)です。 検索クエリの最大実行時間 ユーザによって行われた検索の実行に要した最大時間(秒)です。 実行した検索クエリ数 ユーザによって行われた検索の実行回数です。 インデックス挿入の平均実行時間: インデックス挿入の最大実行時間 インデックスに失敗したファイル: インデックス更新処理においてインデックスを追加するのに要した平均時間(秒) です。 インデックス更新処理においてインデックスを追加するのに要した最大時間(秒) です。 インデックス更新処理において失敗したエントリ数の合計です。 実ファイルのロックが取得できなかった回数です。例えばシングルファイルインス タンス機能との競合によりロックがとれなかった場合などにカウントされ、このよう Blob ロックの競合 な場合にはインデクシング処理による実ファイルのロックは少しの間をおいて改 めて行われます。そのため、表示される件数はインデクシング処理におけるエラ ー発生件数ではありません。 Index Unorphaner の実行回数 Index Unorphaner Thread が実行された回数です。 Index Unorphaner の終了時間 最後に実行された Index Unorphaner Thread が終了時刻です。 Index Unorphaner の進捗状況 Index Unorphaner Thread によってチェックされたエントリ数です。 Index Unorphaner によって最後にチ ェックされたドキュメント 5-2 Index Unorphaner Thread によって最後にチェックされたエントリです。 インデックスファイルの状態 インデックスファイルの状態は verifyIndex の indexstats アクションを利用して行います。indexstats アクションは すべてのインデックスファイルを対象に情報を取得するため、大規模なシステムにおいては非常に時間がかかる場 合があります。実行時には十分注意してください。 実行方法と結果のサンプルは下記のようになります。-o オプションを利用すると解析結果データは指定したファイ ルに出力されます。 $ ./verifyIndex.sh -a indexstats [2013-11-01 11:35:55.0] Segments version=FORMAT_DIAGNOSTICS [Lucene 2.9] 1 of 1: name=_0 docCount=258 compound=true hasProx=true numFiles=2 size (MB)=0.521 16 file=segments_3 numSegments=1 Xythos Document Manager Ver7.2 ECM for Everyone diagnostics = {os.version=2.6.18-92.1.6.el5, os=Linux, lucene.version=2.9.4 1039909 2010-11-28 19:08:14, source=flush, os.arch=i386, java.version=1.7.0_04, java.vendor=Oracle Corporation} has deletions [delFileName=_0_1.del] test: open reader.........OK [1 deleted docs] test: fields..............OK [9 fields] test: field norms.........OK [9 fields] test: terms, freq, prox...OK [7652 terms; 57514 terms/docs pairs; 192660 tokens] test: stored fields.......OK [2339 total field count; avg 9.101 fields per doc] test: term vectors........OK [0 total vector count; avg 0 term/freq vector fields per doc] No problems were detected with this index. Script finished successfully 解析結果はインデックスファイルごとに出力されます。上記はインデックスファイルが 1 つであった場合の例です。 最終的に「No problems were detected with this index.」というメッセージが表示されていればインデックスファ イルは正常な状態となります。 診断スクリプト(diagnoseScript)を実行すると indexstats アクションの結果も診断結果ファイルに含まれます。 ※ ※ 5-3 インデクシング処理の停止について 既に動作しているインデクシング処理を停止する場合には下記のいずれかの方法で行います。 関連する Java スレッドの数を 0 にする イベントベースのインデクシング処理が有効な場合には、この方法でインデクシング処理を停止してもパース用キ ューテーブルへの追加は継続して行われます。改めて Java スレッドの動作を再開(スレッド数を 0 から変更)した場合 には、停止中に行われたイベントを逃すことなくインデクシング処理が行われます。 Java スレッドを停止する方法は「3-1 スレッドの動作設定」を参照してください。 インデクシング処理用のサーバグループを作成している場合には、そのサーバグループに所属している AP サー バを停止することでもインデクシング処理を停止できます。この場合には、現在実行されているインデクシング処理 用の Java スレッドを安全に停止するため、Xythos 管理者画面からのシャットダウンを利用するようにしてください。 Xythos 管理者画面からのシャットダウン方法については Xythos 管理者ガイドをお読みください。 イベントベースのインデクシング処理を無効にする イベントベースのインデクシング処理を無効にすると、ファイルアップロードや名前変更などのイベントが発生して もパース用キューテーブルへの追加が行われません。そのため、関連する Java スレッドが動作していても、新規に インデックスが作成されることはありません。再び有効にした場合でも、無効になっていた期間のイベントに対するパ ース用キューテーブルへの追加は行われないため、verifyIndex を実行する必要があります。 17 Xythos Document Manager Ver7.2 ECM for Everyone 5-4 インデックスファイルのバックアップ インデックスファイルのバックアップはインデックス更新処理がすべて停止している状態で行う必要があります。 バックアップ 1. 2. 3. Index Updater Thread が動作している AP サーバを停止します。または、Index Updater Thread のスレッド数 をすべてのサーバグループで 0 に変更します。 [INDEX_DIR]/index デ ィ レ ク ト リ を バ ッ ク ア ッ プ 先 に コ ピ ー し ま す 。 [INDEX_DIR]/temp や [INDEX_DIR]/xyparsed ディレクトリはコピーしないようにします。 手順 1 で停止した AP サーバまたは Index Updater Thread を再開します。 リストア 1. 2. 3. Index Updater Thread が動作している AP サーバを停止します。または、Index Updater Thread のスレッド数 をすべてのサーバグループで 0 に変更します。 [INDEX_DIR]/index ディレクトリ内に存在しているインデックスファイルを削除し、バックアップしていたインデッ クスファイルをコピーします。 手順 1 で停止した AP サーバまたは Index Updater Thread を再開します。 18 Xythos Document Manager Ver7.2 ECM for Everyone 第6章 注意事項等 2013 年 11 月 5 日現在の注意事項等は下記の通りです。 1. 2. 3. 4. 5. 6. 7. 8. Ver. 7.2 SP5 以前に作成されたインデックスファイルはそのままご利用頂けます。エラーが確認された場合には verifyIndex の verify アクションを利用しインデックス更新を行うようにしてください。 verifyIndex では、Ver. 7.2 SP5 まで提供されていた verifySearchData とは異なりインデックスの作成・更新を 行いません。Ver. 7.2 SP6 以降ではインデックスの作成・更新は Tomcat 上で動作する Java スレッドで行われ ます。 Ver. 7.2 SP6 以降では、Xythos 管理者画面からインデックス・メンテナンス(インデックス更新処理)を行うページ が削除されました。 Ver. 7.2 SP6 以 降 で は 、 Xythos.Internal.SearchIndexOptimizeSize パ ラ メ ー タ は 参 照 さ れ ま せ ん 。 verifyIndex による明示的な実行以外では、最適化処理は行われないように変更されました。 インデックスファイルは頻繁に作成・更新・削除されるため、バックアップやインデックスファイルを取得する際に はあらかじめ Index Updater Thread を停止してください。 インデックスファイルのマージ処理では、処理が完了するまでマージする元ファイルの 2~3 倍の容量を一時的 に使用します。最適化処理でも同様です。 製品標準のコンテント・パーサファクトリには、Apache POI や PDFBox といったオープンソースのライブラリが 使用されています。これらのライブラリは Xythos Search Filters によるテキスト抽出処理に比べ精度が劣る場 合があります。 テキスト/HTML ファイルからテキストを抽出する処理において、テキストの文字コードは chardet.jar というオー プンソースのエンコード自動判別アルゴリズムを利用して判別しています。自動判別アルゴリズムは 100%の判 別を保証しているわけではありません。特に情報量が少ないファイル(1KB 未満)の場合には判定を誤る場合 があります。 19 Xythos Document Manager Ver7.2 ECM for Everyone