本ガイドでは、TALON 全文検索システムの利用中に発生しうる問題と、その対処方法を説明します。
目次
1. クロールに失敗する
クロールの実行結果は、[メニュー > システム情報 > クロール情報]から参照できます。
TALON 統合ジョブ を使用した場合、実行ごとに以下のセッションIDが割り当てられます。
- tb_[実行ごとの一意なID]:業務データクローラーの実行結果
- tf_[実行ごとの一意なID]:ファイルクローラーの実行結果
- te_[実行ごとの一意なID]:TALONファイル紐づけクローラーの実行結果
各セッションIDをクリックすると、当該クロールの実行結果を確認できます。
実行結果に「インデックスサイズ:0」と表示されている場合は、ヒットする情報がないままクロールが終了しています。
クロール対象となる情報が存在するにもかかわらず本表示となる場合は、クロールの実行に失敗している可能性があります。
実行に失敗した場合は、以下のログファイルに原因が記録されます。ログファイルをご参照ください。
{Fessインストールディレクトリ}/logs/fess-crawler.log
ログファイルは標準設定において下記のフォーマットで出力されます。該当のセッションIDで検索してください。
日時 [セッションID] 区分 [モジュール名] ログメッセージ
1.1 業務データクローラーのインデックスサイズが0件の場合
1.1.1 ライセンスファイルが存在しない もしくは ライセンス期限が切れている
ログに下記文字列が表示されている場合、ライセンスファイルが存在しないか、期限が切れています。
- ライセンスファイルが見つかりません: [ライセンスファイルのパス]
- ライセンスの有効期限が切れています(有効期限: 20XX-XX-XX)
上記ログが出力されている場合、下記をご確認ください。
<スタンドアロン版の場合>
- クローラのパラメータ:talon.license.path で設定したパスに、ライセンスファイルが配置されているか
<Docker版の場合>
- ライセンスファイルが Docker イメージに配置されているか
※必要に応じて、ライセンスキーの差し替えを実施してください。
詳細な手順は、 TALON AI Connect - 全文検索 セットアップガイド をご参照ください。
1.1.2 ログインに失敗している
ログに下記文字列が表示されている場合、サーバー未稼働もしくはログイン情報等の誤りによりログインに失敗しています。
- java.io.IOException: login failed. status=XXX url=XXXXX
- java.io.IOException: login ok but token is empty. url=XXXXX
- java.net.ConnectException
上記ログが出力されている場合、下記をご確認ください。
- TALON が稼働しているか、正しい URL を設定しているか
業務データクローラーに設定した talon.base_url に Fess 設置サーバーからアクセスし、ログイン画面が表示されるかご確認ください。出力されずに 404 エラー等が発生する場合、base_url の設定が正しいか、TALONが稼働しているかご確認ください。 - 対象ユーザーが存在するか
設定したユーザーで問題なくログイン可能かご確認ください。 - TALON v6.2.2 以前のバージョンで talon.auth_type=token を指定していないか
必要に応じて talon.auth_type=form にて、現象が改善するかご確認ください。
1.1.3 ラベルが定義されていない
ログに下記文字列が表示されている場合、指定したラベルがTALONで設定されていないため、クロールに失敗しています。
- No FUNC_ID found in FTS_CRAWL_CONFIG. label=XXXXX
TALONから「FTS_CRAWL_CONFIG」機能を開き、ログに記載されているラベルが定義されているかご確認ください。
必要に応じて、ラベルを全て英数字に変更し、現象が改善するかご確認ください。
1.1.4 指定した機能の参照・検索に失敗している
ログで下記文字列が表示されている場合、指定した機能の読み込みに失敗している可能性があります。
- invalid json(no blocks[]). funcId=XXXX, offset=0, head={"messages":{"warn":[],"error":["指定された機能が読み込まれていません。ロードが必要です。"],"info":[]},"status":"failure"}
指定した機能が TALON 上に存在するかご確認ください。
またログにエラーや警告が出力されていないにも関わらず、インデックスサイズが0件の場合、対象機能の検索に失敗している可能性があります。
指定した機能にクロールユーザーの表示権限が付与されているか、あわせて、検索必須項目の設定により検索条件未指定では検索を実行できない構成となっていないか、ご確認ください。
1.2 業務データクローラーの実行が終了しない場合
1.2.1 ページング形式の指定が不正
クロールを実行しても業務データクローラーが終了しない場合、TALON v6.2.14 以前の環境でページング取得を有効にしている可能性があります。
当該オプションは TALON v6.2.15 以降で使用可能です。それ以前の環境で使用した場合、クローラーの実行が完了しないことがあります。
業務データクローラーの talon.paging の設定値をご確認ください。
1.3 ファイルクローラーのインデックスサイズが0件の場合
1.3.1 前回クロールから変更がない
ファイルクローラーは、現在保持しているインデックス情報を参照し、差分のみを追加または削除します。
そのため、前回のクロール以降に添付ファイルの追加が行われていない場合、インデックスサイズは 0 件となります。これは Fess の正常な動作です。
インデックス情報は既に保持されているため、検索の実行に問題はありません。
1.3.2 パスの設定やファイル認証の設定に誤りがある
過去のインデックス情報が存在しないにも関わらず、インデックスサイズが0件の場合は、ファイルクロールに失敗している可能性があります。
下記をご確認ください。
- ファイルシステム > パス は / で終了しているか
- (SMB認証を使用している場合)ファイル認証 > ホスト名 に設定したホスト名・IPアドレスが、ファイルクロール > パスに記載したホスト名・IPアドレスと大文字小文字含めて完全に一致しているか
- (SMB認証を使用している場合)ファイル認証 > ユーザー名、パスワード に設定した値で、当該共有フォルダにアクセス可能か
1.4 ファイル紐づけクローラーのインデックスサイズが0件の場合
1.4.1 ライセンスファイルが存在しない もしくは ライセンス期限が切れている
詳細は 1.1.1 ライセンスファイルが存在しない もしくは ライセンス期限が切れている をご参照ください。
1.4.2 ファイルクローラーの実行結果が無い
ファイル紐づけクローラーは、ファイルクローラーのインデックス情報を参照し、当該ファイルを参照するレコードとの紐づけを行うクローラーです。そのため、ファイルクローラーが実行されていない場合、または実行に失敗している場合は、ファイル紐づけクローラーを正常に実行できません。
ファイルクローラーが正常に実行されているかをご確認ください。
1.4.3 docroot_pathの指定が不正
TALON では、FILE 項目にドキュメントルートフォルダからの相対パスが格納されます。
一方、ファイルクローラーでは、クロールしたファイルの絶対パスを取得します。
ファイル紐づけクローラーは、ファイルクローラーから取得した絶対パスから docroot_path を除去した値が、FILE 項目に登録されているかを確認することで、レコードとファイルを紐づけています。
そのため、docroot_path がドキュメントルートフォルダと大文字・小文字を含めて一致していない場合、ファイル紐づけクローラーで正しく紐づけできないことがあります。大文字・小文字を含めて一致しているかをご確認ください。
2. 意図した検索結果が表示されない
2.1 登録済みのデータで検索しても、結果が返らない
2.1.1 クロールされていない
対象データがクロールされていないため、結果が表示されていない可能性があります。
1. クロールに失敗する を参照の上、クロールが正常に完了しているかご確認ください。
また、ページング取得(talon.paging)を無効に設定している場合は、「ブロック設定画面 > 詳細設定 > 画面最大行数」に設定された件数までしかクロールされません。全件をクロール可能な設定となっているか、あわせてご確認ください。
2.1.2 Fess上で該当情報がヒットしない
全文検索システムは、Fess を通じてクロール結果を検索します。そのため、Fess 上で該当情報を取得できない場合、全文検索システムでも結果は表示されません。まずは、Fess で該当情報を検索できるかご確認ください。
Fess では、OpenSearch の analyzer / tokenizer によってトークン化された情報を対象に検索を行います。例えば、「ITEM_A」という値が 1 語としてトークン化される設定となっている場合、「ITEM」で検索してもヒットしません。
Fess 上で検索できない場合は、ワイルドカード(*)を付与して検索できるかをご確認ください。
Fess で使用可能な検索クエリについては、以下の公式ドキュメントをご参照ください。
https://fess.codelibs.org/ja/15.5/user/index.html
2.1.3 当該機能に権限が付与されていない
全文検索システムでは、表示権限を有する機能に登録されているレコードのみ検索可能です。
当該機能の表示権限を有しているかご確認ください。
2.2 検索語と無関係な結果がヒットする
2.2.1 Fess上で無関係な結果がヒットする
全文検索システムは、Fess を通じてクロール結果を検索します。そのため、Fess 上で検索語と無関係な情報が取得される場合は、全文検索システムでも当該情報が表示されます。
なお、Fess で検索を実行すると、該当した属性値が太字で表示されるため、どの属性値が検索結果に影響しているかを確認することが可能です。
また、関連性の低い検索結果は、スコアが低く表示されます。必要に応じて、スコア情報もあわせてご確認ください。
3. 全文検索実行時にエラーが発生する
3.1 ライセンス切れのエラーが発生する
下記のエラーが発生する場合、ライセンスファイルが認識されていないか、ライセンス期限が切れています。
全文検索のライセンスが有効期限切れです。(CMN_E0094)詳細は 1.1.1 ライセンスファイルが存在しない もしくは ライセンス期限が切れている をご参照ください。
上記対応後に再クロールを実行することで、当該エラーは解消されます。
3.2 Fess通信エラー
下記のエラーが発生する場合、Fess への通信でエラーが発生している可能性があります。
Fess検索で通信エラー(詳細はログ参照)(CMN_E0094)「FTS_FULLTEXT_SEARCH」機能の「機能設定画面 > アプリケーション > DB検索前JavaScript」に設定した「FESS_BASE_URL」に、TALON サーバーからアクセス可能かご確認ください。
あわせて、Fess および OpenSearch が稼働しているかをご確認ください。
また、TALON の server.log に詳細なエラー情報が出力されているため、併せてご確認ください。