![]() ![]() ![]() ![]() ![]() ![]() | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
第8章
この章では、exteNd Directorアプリケーションで概念検索を正常に実装するために役に立つトラブルシューティングのヒントを提供します。この章では、一般的なエラーを診断および修正する方法を理解できます。
この章では、次のトピックについて説明します。
この節では、一般的な問題を診断し、その対処方法を提案します。説明する問題は、次のとおりです。
この節では、この例外の原因、および問題を解決する方法について説明します。
Autonomy JNI (Java Native Interface)は通常、exteNd Director DRE (Dynamic Resource Engine)が実行されていない場合、この例外を生成します。
この節では、この例外の原因、および問題を解決する方法について説明します。
この例外は、Autonomy JNI (Java Native Interface)クラスがアプリケーションサーバのクラスパス上にないときに発生します。これらのクラスは、exteNd Directorインストールディレクトリのautonomy\autonomyJNI.jarに保存されています。
アプリケーションサーバクラスパスへのautonomyJNI.jarの追加で説明されているように、Add Autonomy JNIクラスをアプリケーションサーバのクラスパスに追加します。
この例外は、autonomyJNI.dllがライブラリパス上にないときに発生します。このダイナミックリンクライブラリは、exteNd Directorインストールディレクトリのautonomy\\autonomyJNI.dllにあります。
使用環境へのAutonomyダイナミックライブラリの追加で説明されているように、exteNd DirectorをインストールしたコンピュータのPath環境変数にautonomyJNI.dllを含むディレクトリを追加します。
exteNd Directorプロジェクトを再展開すると、次のエラーメッセージが表示されることがあります。
java.lang.UnsatisfiedLinkError:Native Library autonomyJNI.dll already loaded in another classloader
この節では、このエラーの原因、および問題を解決する方法について説明します。
このエラーは、autonomyJNI.jarおよびautonomyJNI.dllのリビジョンレベルが異なるときに発生します。
これらのファイルのリビジョンレベルが正しいことを確認してください。リビジョンレベルをプログラムで確認するには、メソッドgetApiVersion()をcom.sssw.search.api.EbiQueryEngineDelegateで呼び出します。
この節では、この動作の原因、および問題を解決する方法と予防対策について説明します。
この問題は、既存のカスタムフィールドを使用するドキュメントの作成後にCM (Content Management)リポジトリの新しいカスタムフィールドを追加するときに発生します。Autonomyがカスタムフィールドを扱う方法により、DREを再初期化し、新しいフィールドセットに読み込む必要があります。このようにしない場合、検索結果は無効になります。
コンテンツをDREから削除するで説明されているように、DREからすべてのドキュメントを削除します。
DREのリセットで説明されているように、DRE Administrationコンソールからresetを発行して、DREを再設定します。
診断: DREが実行されていないで説明されているように、DREを再起動します。
インデックス作成の強制実行で説明されているように、コンテンツのインデックスをDREに再び作成します。
警告: これらの手順は、カスタムメタデータを使用するドキュメントの作成後に新しいカスタムフィールドを「追加するたび」に実行する必要があります。この問題を解決するには、次の予防対策を参照してください。
新しいドキュメントを作成する前にすべてのカスタムフィールドをCMリポジトリに追加します。
DREコンテンツの検証で説明されているように、任意のメソッドを使用してドキュメントのインデックスが作成されているかどうかを確認できます。
この節では、この動作の原因、および問題を解決する方法について説明します。
CMサブシステムとSearchサブシステムの統合が無効になっています。
診断: DREが実行されていないで説明されているように、exteNd Director DREが実行していることを確認します。
オプションcom.sssw.cm.search.enable.repository nameを有効にします。
たとえば、Defaultという名前のデフォルトCMリポジトリを使用している場合、プロパティ名は次のようになります。
com.sssw.cm.search.enable.Default
ヒント: 既存のexteNd Directorプロジェクトでの検索オプションの設定で説明されて いるように、このオプションをCM config.xmlファイルに設定します。このオプションの 詳細については、Searchサブシステムへのリンクの有効化および特定のContent Managementリポジトリのオプションの定義を参照してください。
検索オプションの値が、exteNd Director DRE設定に対応していません。
DRE検索オプションの設定で説明されているように、DRE AdministrationコンソールでexteNd Director DRE設定を確認します。
com.sssw.cm.search.host.repository name com.sssw.cm.search.queryport.repository name com.sssw.cm.search.indexport.repository name com.sssw.cm.search.repository.repository name
ヒント: 既存のexteNd Directorプロジェクトでの検索オプションの設定で説明されて いるように、これらのオプションをCM config.xmlファイルに設定します。デフォルト CMリポジトリを使用している場合、repository nameはDefaultです。
CMリポジトリの変更をDREインデックス作成と同期化するモードは、次の2種類があります。
モード |
説明 |
---|---|
即時 |
CMリポジトリの変更は、実行されるとすぐにDREに転送されます。これにより、リアルタイムでドキュメントインデックスが表示されます。 |
バッチ |
CMリポジトリの変更は、スケジュールされたまたは定期的なバックグラウンドタスクとしてDREに転送されます。 同期化をバッチモードで実行する場合、同期化が開始されるまで、インデックス作成は表示しません。 |
次の検索オプションの値を確認して、有効にする同期化モードを決めます。
com.sssw.cm.search.synch.mode.repository name
値が1の場合、同期化はバッチモードで行われるので、ドキュメントのインデックス作成はすぐには表示されません。
ヒント: 既存のexteNd Directorプロジェクトでの検索オプションの設定で説明されて いるように、このオプションをCM config.xmlファイルに表示します。このオプションの 詳細については、同期モードを参照してください。
インデックスを作成しようとしているコンテンツのドキュメントタイプが無効かサポートされていません。Searchサブシステムでサポートされているインデックス作成用のMIMEタイプは、次のとおりです。
ドキュメントのMIMEタイプがSearchサブシステムでサポートされているか確認してください。ドキュメントのMIMEタイプは、次の手順を実行して、CMS管理コンソールで確認できます。
CMS管理コンソールの使用方法については、『コンテンツ管理ガイド』のCMS管理コンソールに関する章を参照してください。
検索しているドキュメントをCMサブシステムで発行していない可能性があります。DREにインポートして、インデックスを作成できるのは、発行されたドキュメントだけです。
CMS管理コンソールで、次の手順を実行して、検索しているドキュメントが発行されているかどうかを確認します。
ドキュメントの発行の詳細については、『コンテンツ管理ガイド』のCMS管理コンソールについて説明する章のバージョン制御の管理に関する節を参照してください。
バイナリドキュメントのインデックスを作成している場合、AutonomyのOmniSlaveバイナリドキュメントフィルタ技術への正しいパスを指定する必要があります。デフォルトでは、OmniSlaveファイルは次のディレクトリに保存されています。
exteNd Directorインストールディレクトリ\exteNd Director\autonomy\OmniSlaves
OmniSlaveファイルのパスが、次の検索オプションで正しく指定されているか確認します。
com.sssw.cm.fetch.binary.filters.dir
ヒント: 既存のexteNd Directorプロジェクトでの検索オプションの設定で説明されて いるように、このオプションをCM config.xmlファイルに設定します。このオプションの 詳細については、バイナリドキュメントテキストフィルタのインストールディレクトリを 参照してください。
この節では、この動作の原因、および問題を解決する方法について説明します。
指定した検索条件が限定しすぎているか、間違っている、またはクエリ用語のスペルが間違っている可能性があります。
クエリを検証し、必要に応じて、次の任意の修正手順を実行します。
スペルが間違っているクエリ用語を修正するか、あいまいクエリを実行する
詳細については、あいまいクエリを参照してください。
exteNd Director DREコンテンツの検証で説明されているように、任意のメソッドを使用してドキュメントのインデックスが作成されているかどうかを確認できます。
ドキュメントにインデックスが作成されていないのトラブルシューティングのヒントを参照してください。
DREの再初期化およびデータインデックスの作成を実行せずに、DRE設定ファイルのパラメータを変更した場合、DREは、結果を返さないか、間違った結果を返します。
注記: DRE設定ファイルは、exteNd Directorインストールディレクトリのautonomy\\engine\\DirectorDRE.cfgにあります。
DREのリセットで説明されているように、DRE Administrationコンソールからresetを発行して、DREを再設定します。
診断: DREが実行されていないで説明されているように、DREを再起動します。
よくある原因としては、キーワード検索を実行しようとしたときに概念クエリを発行したということが考えられます。キーワード検索では、DREは、目的のキーワードを含むドキュメントを検索します。これとは対称的に、概念クエリは、テキスト文字列自体ではなく概念に一致する高度な検索です。
詳細については、概念検索とキーワード検索の違いを参照してください。
実行するクエリのタイプに使用している構文が正しいか確認してください。たとえば、単語silkおよびwormを含むドキュメントを検索する場合、次のように、キーワード検索のクエリ形式を使用します。
silk:+worm:
この構文は、次の「概念検索」形式とは異なるので注意してください。
silk+worm
詳細については、Autonomyベースの概念検索の概要およびを参照してください。
検索しているドキュメントのコンテンツをexteNd Director DREにコピーするオプションを有効にしていない可能性があります。キーワードクエリを発行する場合、ターゲットドキュメントのコンテンツが、インデックス作成時にDREに保存されるようにする必要があります。
com.sssw.cm.fetch.store.content.repository name
既存のexteNd Directorプロジェクトでの検索オプションの設定で説明されているように、このオプションをCM config.xmlファイルに設定します。このオプションの詳細については、ドキュメントコンテンツのDREへのコピーを参照してください。
省略関連度しきい値が低すぎると、実際には参照した結果がいくつか返されません。
しきい値を上げるには、メソッドsetRelevanceCut()をcom.sssw.search.api.EbiQueryで呼び出します。
この節では、この動作の原因、および問題を解決する方法について説明します。
検索しているドキュメントのコンテンツをexteNd Director DREにコピーするオプションを有効にしていない可能性があります。CMリポジトリとDREの両方にコンテンツを保存すると負担がかかるので、これを軽減するため、このオプションはデフォルトで無効にされています。
com.sssw.cm.fetch.store.content.repository name
既存のexteNd Directorプロジェクトでの検索オプションの設定で説明されているように、このオプションをCM config.xmlファイルに設定します。このオプションの詳細については、ドキュメントコンテンツのDREへのコピーを参照してください。
この節では、この動作の原因、および問題を解決する方法について説明します。
バイナリドキュメントテキストフィルタディレクトリは、DREをインストールしたディレクトリにあり、インデックス作成のためにデータをCMリポジトリからDREにインポートするときに必要な実行可能ファイルが含まれています。デフォルトでは、パブリッシュは、即時同期化を起動する操作で、更新されたコンテンツをCMリポジトリからDREにインポートする操作に関連するイベントです。インポートプロセスが正常に実行できるように、バイナリドキュメントテキストフィルタディレクトリの読み込み/書き込み/実行権限が必要です。
バイナリドキュメントテキストフィルタディレクトリを検出します。
exteNd Directorで、exteNd DirectorプロジェクトのCMサブシステムのconfig.xmlを開きます。
com.sssw.cm.fetch.binary.filters.dir
注記: バイナリドキュメントテキストファイルディレクトリは、exteNd Directorプロジェクトを作成したときに設定しています。これは、『exteNd Directorアプリケーションの開発』の新しいexteNd Directorプロジェクトの作成に関する節で説明しています。この節では、[コンテンツ管理検索環境設定]パネルの[フィルタ]タブの設定パラメータについて説明します。
この節では、検索プロセスが予想通りに実行しているか、またはクエリを正しく構築しているかを確認するときに使用できる技術について説明します。これらの技術によっては、で説明されているexteNd Director DRE Administrationコンソールを実行する必要があります。次に示すトピックが含まれています。
この節では、exteNd DirectorおよびAutonomyログを生成、検証することによりインデックス作成プロセスを監視する方法について説明します。
インポートログは、Autonomyインポータのアクティビティをランタイム時に記録します。デフォルトでは、このログは、exteNd Directorをインストールしたディレクトリのautonomy\OmniSlaves\import.logにあります。
インポートログの動作をファイルimportslave.cfgで設定します。このファイルは、import.logと同じディレクトリにあります。指定できるオプションは、次のとおりです。
有効にすると、このオプションは、ドキュメントのインポートおよびインデックス作成時に、デバッグのためにコンテンツをサーバコンソールに書き込みます。
exteNd Directorでのインデックス作成についての情報をログ記録する
CMサブシステムおよびSearchサブシステムのログレベルを5に上げます。これは、小さなプロトタイプドキュメントセット用に推奨されます。
レベル5のログでは、CMリポジトリと通信し、そのコンテンツを検索するときに、デバッグメッセージおよびサーバコンソールでのアプリケーション進行状況に関する情報を記録します。
『コンテンツ管理ガイド』のDACを使用したアプリケーション設定に関する章のログの節で説明されているように、DAC (Director管理コンソール)を使用して、EboSearchLogおよびEboCmLogのログレベルを調整します。
com.sssw.cm.fetch.dump.imported.data
既存のexteNd Directorプロジェクトでの検索オプションの設定で説明されているように、このオプションをCM config.xmlファイルに設定します。このオプションの詳細については、インポート中のデバッグを参照してください。
詳細については、『exteNd Directorアプリケーションの開発』の情報のログ記録に関する章を参照してください。
Autonomyで実行されるアクティビティのログを参照するには、ブラウザで次のURLを入力します。
http://DRE host:DRE-query-port/qmethod=v
たとえば、ホスト名がlocalhostで、DREクエリポートが2000 (デフォルト)の場合、URLは次のようになります。
http://localhost:2000/qmethod=v
この節では、exteNd Director DREのコンテンツを検証する方法について説明します。
http://DRE host:DRE-query-port/qmethod=g
たとえば、ホスト名がlocalhostで、DREクエリポートが2000 (デフォルト)の場合、URLは次のようになります。
http://localhost:2000/qmethod=g
このコマンドは、インデックスが作成されているドキュメントのリストを表示します。目的のドキュメントを識別するには、DRE内のドキュメントの固有IDであるDoc_idプロパティ値を参照します。この値は、qmethod=gコマンドで生成される結果に表示されます。
DREコンテンツの検証を参照してください。
で説明されているように、検索環境を再設定する場合など、exteNd Director DREでデータのインデックスを強制的に再作成する必要がある可能性があります。
次の手順は、exteNd Director DREを設定して、すべてのコンテンツのインデックス再作成をバッチプロセスとして実行する方法を示します。
com.sssw.cm.search.synch.mode.repository nameを1に設定して、同期モードをバッチに変更します。
ヒント: デフォルトでは、Defaultという名前のCM リポジトリを使用します。そのた め、同期モードはcom.sssw.cm.search.synch.mode.Defaultに設定します。
config.xmlと同じ場所で、CMリポジトリのタスクリスト設定ファイルrepository name_tasklist.xmlを開きます。
ヒント: デフォルトCMリポジトリでは、設定ファイルはDefault_tasklist.xmlです。
synchタスクの定義を参照します。これは、CMサブシステムをSearchサービスエンジンと同期化するタスクです。
ヒント: タスク定義は、<periodic-synch>(デフォルト)または<scheduled-synch> のいずれかとして表示されます。
次の要素を同期化タスク定義に追加して、すべてのコンテンツのインデックスが作成されるように指定します。
<since-last>false</since-last>
注記: このプロパティを無効にしない場合、DREは、以前のタスク実行で処理されなかったコンテンツ(デフォルト設定)だけのインデックスを作成します。
これらの要件を満たす同期化タスク定義の例は、次のとおりです。
<periodic-synch> <task-name>Default Repository Synchronization</task-name> <description>The Default Repository Synchronization Task</description> <since-last>false</since-last> <enabled>true</enabled> <interval> <millis>86400000</millis> <exact>false</exact> </interval> </periodic-synch>
ヒント: コンテンツのインデックスを作成したら、すべてのコンテンツのインデックス が不用意に再作成されないように、<since-last>プロパティをtrueに戻すことをお勧めし ます。
『コンテンツ管理ガイド』の自動タスクの管理に関する節で説明されているように、CMS管理コンソールからsynchタスクを起動します。
CMリポジトリのタスクの詳細については、『コンテンツ管理ガイド』のタスクの管理に関する章を参照してください。
特定のドキュメントのインデックスが作成された用語のリストを検証して、DREの情報が正しいかどうか確認できます。ドキュメントから最も重要な40の用語を取得するには、次のコマンドを使用します。
http://IPAddress:QueryPort/qmethod=t&querytext=docid
注記: 値docidは、目的のドキュメントのDoc_idプロパティです。exteNd Director DREコンテンツの検証で説明されているように、Doc_id値を参照できます。
exteNd Director DRE Administrationコンソールを使用して、クエリを個別にテストし、予想通りの結果をクエリが返すか確認できます。
DRE Administrationコンソールでクエリをテストする
クエリのテストを参照してください。
Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved. more ...