Lucene検索エンジンのトラブルシューティング
Talend Data Catalogの検索機能はLucene検索エンジンによって実装されており、そのインデックスは<TDC_HOME>\TalendDataCatalog\data\search\に配置されています。
Lucene検索インデックスのディレクトリーが削除された場合、Talend Data Catalogサーバーによって自動的に再作成されます。
Lucene検索インデックスが何らかの理由(インデックス化中の電源喪失やメモリ不足、インデックスへの同時書き込みなど)で破損した場合、検索インデックスディレクトリーを削除すると、サーバーによって自動的に再作成されます。
公式にサポートされているわけではありませんが、管理者はLucene CheckIndexを使って、破損したドキュメントをインデックスから「追い出す」試みができます。以下のステップに従います。
- ディレクトリー<TDC_HOME>\TalendDataCatalog\data\search\lucene_xxxxxxxxにあるLuceneのインデックスをバックアップします。情報メモ注: lucene-xxxxxxxxを実際の検索インデックスのディレクトリー名に置き換えてください。
- 一時ディレクトリー(c:\tempなど)に移動します。
- 次のコマンドを実行します:
mkdir CheckIndex cd CheckIndex <TDC_HOME>\TalendDataCatalog\jre\bin\jar -xvf <TDC_HOME>\TalendDataCatalog\tomcat\webapps\MM.war cd WEB-INF java -classpath "lib/*" -ea:org.apache.lucene... org.apache.lucene.index.CheckIndex <TDC_HOME>\TalendDataCatalog\data\search\lucene_xxxxxxxx
- 上記のコマンドの出力を確認し、破損したセグメントがないかをチェックします。
- 破損したセグメントがある場合、上記と同じコマンドを"-exorcise"追加オプション付きで実行します。
java -classpath "lib/*" -ea:org.apache.lucene... org.apache.lucene.index.CheckIndex <TDC_HOME>\TalendDataCatalog\data\search\lucene_xxxxxxxx -exorcise
- 完了したら、CheckIndexディレクトリーを削除します。
詳細は、https://lucene.apache.org/core/7_7_2/core/org/apache/lucene/index/CheckIndex.htmlをご覧ください。