目次
1. はじめに
本マニュアルは、TALON 全文検索システムのセットアップ手順を説明します。
システムの概要・機能説明については「TALON AI Connect - 全文検索 & AI Insight 概要」を参照してください。
2. 前提条件
2.1 インストール方式の選択
Fess + fess-ds-talon プラグインのインストール方法は、以下の2つの方式から選択することができます。
| 方式 | 概要 |
|---|---|
| スタンドアロン版 | Fess、OpenSearch を直接インストールし、JAR をコピー |
| Docker版 | 配布された Docker イメージを使用 |
2.2 必要なソフトウェア
スタンドアロン版の場合:
| ソフトウェア | バージョン | 備考 |
|---|---|---|
| Java JDK | 21 | OpenSearch 3.x に必須 |
| Fess | 15.5.0 | エンタープライズサーチサーバー |
| OpenSearch | 3.5.0 | 検索エンジン |
| TALON | 5.1.23 以上 | REST API が有効であること |
Docker版の場合:
| ソフトウェア | バージョン | 備考 |
|---|---|---|
| Docker | Docker Desktop 最新版 | Docker Compose を含むこと |
| TALON | 5.1.23 以上 | REST API が有効であること |
2.3 配布ファイルの準備
配布パッケージには以下のファイルが含まれています。下記リンクからダウンロードしてください。
https://support.talon.jp/hc/ja/articles/26888859704729
スタンドアロン版:
| ファイル | 説明 |
|---|---|
talon_full_text_search_standalone_v*.*.*.zip |
全文検索(Fess)用プラグイン JAR ファイル TALON Insight 用プラグイン JAR ファイル TALON リポジトリデータ(TALON 側の機能セットアップに使用) |
Docker版:
| ファイル | 説明 |
|---|---|
talon_full_text_search_docker_v*.*.*.zip |
Docker Compose 設定ファイル一式 全文検索(Fess)用プラグイン JAR ファイル TALON Insight 用プラグイン JAR ファイル TALON リポジトリデータ(TALON 側の機能セットアップに使用) |
ライセンスファイル(個別発行):
| ファイル | 説明 |
|---|---|
talon_full_text_search_license.key |
全文検索ライセンスファイル(有効期限付き) |
注意: ライセンスファイルはお客様ごとに個別に発行されるため、ダウンロードページには含まれていません。ライセンスの取得については ai-rd@talon.jp までお問い合わせください。
2.4 ネットワーク要件
2.4.1 デフォルトポート
| コンポーネント | ポート | 備考 |
|---|---|---|
| Fess(スタンドアロン版) | 8080 | 検索画面・管理画面・API |
| Fess(Docker 版) | 8081 | 検索画面・管理画面・API |
| TALON | 8080 | 業務画面・REST API(環境による) |
| OpenSearch | 9200 | Fess からのみアクセス |
注意(スタンドアロン版): Fess と TALON のデフォルトポートはいずれも 8080 です。同一サーバーに同居させる場合は、Fess のポートを変更する必要があります(例: 8081)。変更方法は 3.1.1 Fess + OpenSearch の設置 を参照してください。
注意(Docker版): Docker 版では Fess のポートは 8081 に設定されています。Fess の URL を指定する箇所では 8081 を使用してください。
2.4.2 コンポーネント間の通信
[ブラウザ] ──HTTP──→ [TALON :8080] 業務画面・検索画面
[TALON] ──HTTP──→ [Fess :8081] 検索 API 呼び出し(JavaScriptエンジン)
[Fess] ──HTTP──→ [TALON :8080] クロール時の REST API 呼び出し
[Fess] ──HTTP──→ [OpenSearch :9200] インデックス操作補足: Fessへの検索処理は、TALONのJavaScriptエンジンから実行します。ブラウザから直接 Fess にアクセスする必要はありません。
2.4.3 サーバー構成別の考慮事項
TALON と Fess+OpenSearch が同一サーバーの場合:
- TALON ↔ Fess 間の通信は localhost で完結するため、Fess を外部に公開する必要はありません。
- Fess と TALON のデフォルトポートが競合するため、Fess のポート変更が必要となります。(3.1.1 Fess + OpenSearch の設置 を参照)
- システムの JAVA_HOME が Java 21 以外の場合、Fess および OpenSearch の起動スクリプトで JAVA_HOME を設定する必要があります。(3.1.1 Fess + OpenSearch の設置 を参照)
TALON と Fess+OpenSearch が別サーバーの場合(Docker含む):
- 以下の通信を許可する必要があります。
- TALON サーバー → Fess サーバー(8081)(検索実行)
- Fess サーバー → TALON サーバー(8080)(クロール実行)
- ファイルクロールは SMB 経由となるため、TALON のサムネイルフォルダを共有フォルダにする必要があります。
セキュリティに関する注意(別サーバー構成):
別サーバー構成では Fess のポートを外部に公開する必要があるため、以下の対策を強く推奨します。
- IP 制限を行い、TALON以外からのアクセスを不可とする
Fess のセキュリティ設定の詳細は、以下の公式ドキュメントを参照して下さい。
https://fess.codelibs.org/ja/15.5/install/security.html
ファイアウォール設定例(別サーバ構成):
| 送信元 | 送信先 | ポート | 用途 |
|---|---|---|---|
| ブラウザ | TALON サーバー | 8080 | 業務画面・検索画面 |
| TALON サーバー | Fess サーバー | 8081 | 検索 API |
| Fess サーバー | TALON サーバー | 8080 | クロール |
注意: OpenSearch(9200)は Fess からのみアクセスするため、外部に公開する必要はありません。 Fess(8081)も管理画面へのブラウザアクセスが不要であれば外部公開不要です。
3. Fess + OpenSearch のセットアップ
3.1 スタンドアロン版のセットアップ手順
Docker版をご利用の場合、この章はスキップしてください。 Docker 版のセットアップは 3.2 Docker 版のセットアップ手順 を参照してください。
3.1.1 Fess + OpenSearch の設置
Fess / OpenSearch のインストール方法は公式ドキュメントを参照してください。公式ガイドの手順に OpenSearch のインストールも含まれています。
※上記のセットアップマニュアルに記載の内容は全て実施してください。
- Fessをセットアップすると内蔵のOpenSearch(標準ポート番号:9201)が含まれますが、こちらは利用しません。別途OpenSearch(標準ポート番号:9200)をセットアップして利用します。これはFess自身の方針として本番環境では内蔵のOpenSearch利用を推奨していないためです。
- Fessのセットアップマニュアルにbin\fess.in.batにポート9200関連の情報を追記する説明がありますが、こちらを必ず実施してください。実施しない場合、内蔵のOpenSearchを利用してしまい、意図しない動きとなってしまいます。
- OpenSearchプラグインのインストール部分で警告が出る場合がありますが、そのまま進めてください。最後にY/Nを聞かれたらYを選択してください。
JAVA_HOME の設定(システムの JAVA_HOME が Java 21 以外の場合)
Fess/OpenSearch は Java 21 を必要とします。システムの JAVA_HOME が Java 21 以外に設定されている場合は、起動スクリプトで Java 21 を明示的に設定する必要があります。
OpenSearch の設定:
Windows:
{OpenSearchインストールディレクトリ}/bin/opensearch-env.batの先頭に追記set OPENSEARCH_JAVA_HOME={Java 21 のインストールパス}Linux:
{OpenSearchインストールディレクトリ}/bin/opensearch-env.shの先頭に追記※環境によってはexport不要。ディストリビューションに合わせた環境変数設定を実施ください。
export OPENSEARCH_JAVA_HOME={Java 21 のインストールパス}Fess の設定:
Windows:
{Fessインストールディレクトリ}/bin/fess.in.batの@echo offの下に追記set JAVA_HOME={Java 21 のインストールパス}Linux:
{Fessインストールディレクトリ}/bin/fess.in.shの先頭に追記※環境によってはexport不要。ディストリビューションに合わせた環境変数設定を実施ください。
export JAVA_HOME={Java 21 のインストールパス}
Fess のポート番号変更
Fess のデフォルトポートは 8080 ですが、TALON と競合する場合は変更が必要です。
Windows の場合:
{Fessインストールディレクトリ}/bin/fess.in.batを編集set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.port=8081Linux の場合:
{Fessインストールディレクトリ}/bin/fess.in.shを編集FESS_PORT=8081
3.1.2 Fess の設定(fess_config.properties)
Fess の設定ファイルに、本システムで使用するカスタムフィールドを追加する必要があります。
ファイル場所: {Fessインストールディレクトリ}/app/WEB-INF/classes/fess_config.properties
下記項目の設定値を変更してください。
# レスポンスに含めるフィールド
query.additional.response.fields=label,func_id,block_no,content,display_content_s,business_content_s
query.additional.api.response.fields=label,func_id,block_no,content,display_content_s,business_content_s
# 検索対象フィールド
query.additional.search.fields=label,func_id,config_id,block_no,url
# ファセット(絞り込み)フィールド
query.additional.facet.fields=label,func_id,block_noまた、以下の行のポート番号を9201から9200に変更してください。
変更前:
search_engine.http.url=http://localhost:9201
→変更後:
search_engine.http.url=http://localhost:9200
3.1.3 JAR ファイルの配置
配布パッケージ(talon_full_text_search_standalone_v{バージョン}.zip)に含まれる 2つのJAR ファイル(fess-ds-talon-connector-v{バージョン}.jar、talon-insight-{バージョン}-all.jar)を Fess の plugin 、libディレクトリに配置します。
配置先:fess-ds-talon-connector-v{バージョン}.jar
| OS | 配置先 |
|---|---|
| Windows | {Fessインストールディレクトリ}\app\WEB-INF\plugin\ |
| Linux | {Fessインストールディレクトリ}/app/WEB-INF/plugin/ |
配置先:talon-insight-{バージョン}-all.jar
| OS | 配置先 |
|---|---|
| Windows | {Fessインストールディレクトリ}\app\WEB-INF\lib\ |
| Linux | {Fessインストールディレクトリ}/app/WEB-INF/lib/ |
3.1.4 ライセンスファイルの配置
全文検索システムを利用するには、ライセンスファイルの配置が必要です。ライセンスファイルが配置されていない場合、またはライセンスの有効期限が切れている場合は、クロール処理は実行されません。
発行されたライセンスファイル(talon_full_text_search_license.key)を Fess のインストールディレクトリに配置します。なお、後述の設定にてライセンスファイルの配置先パスを指定するため、任意の場所に配置しても問題ありません。
配置例:
| OS | 配置先例 |
|---|---|
| Windows | {Fessインストールディレクトリ}\talon_full_text_search_license.key |
| Linux | {Fessインストールディレクトリ}/talon_full_text_search_license.key |
3.1.5 Fess の再起動
プラグインを配置した後、Fess を再起動してください。再起動することで、本システムで使用するプラグインが読み込まれます。
Fess の起動・停止方法は、Fessの設置手順に依存します。詳細は下記公式ドキュメントをご参照ください。
https://fess.codelibs.org/ja/15.5/install/run.html
3.2 Docker 版のセットアップ手順
スタンドアロン版をご利用の場合、この章はスキップしてください。 スタンドアロン版のセットアップは 3.1 スタンドアロン 版のセットアップ手順 を参照してください。
3.2.1 Docker イメージの読み込み
配布パッケージに含まれる Docker イメージを使用します。Fess + OpenSearch + プラグインが同梱済みのため、個別のインストールは不要です。
- 配布パッケージの展開
任意のフォルダにtalon_full_text_search_docker_v*.*.*.zipを展開します。 - ライセンスキーの配置
展開したフォルダに、別途提供されたライセンスキーファイルを格納します。
配置後のフォルダ構成:
<展開先>/
├── docker-compose.yml
├── Dockerfile
├── talon-entrypoint.sh
├── fess-ds-talon-connector-v*.*.*.jar
├── talon-insight-*.*.*-all.jar
├── talon_repository/ ← TALON リポジトリデータ
│ └── TALON_FTS_REPOSITORY_V*_*_*/
├── open-report-output.cmd ← AI Insight レポート出力フォルダを開くツール(AI Insight セットアップガイド参照)
└── talon_full_text_search_license.key ← 追加- Docker(Fess , OpenSearch) 環境の起動
Docker環境を起動します。
以下のコマンドで 起動・停止・再開 が可能です。
初回は「起動」コマンドを実施してください。必要なソフトウェアを自動ダウンロードして起動まで行います。
ライセンスキーが存在しない場合コマンドがエラーとなります。
※初回起動時に Docker Hub からイメージをダウンロードするため、インターネット接続環境が必要です。
docker compose up -d # 起動
docker compose down # 停止
docker compose restart # 再起動
docker compose logs -f # ログ確認
docker compose ps # 状態確認- アクセス確認
以下にアクセス可能か確認します。
問題なくアクセスが出来ればセットアップは正常終了しています。
-
Fess 管理画面:
http://localhost:8081/admin/(admin / admin) -
Fess 検索画面:
http://localhost:8081/ -
OpenSearch:
http://localhost:9200/
3.2.2 ライセンスキーの差し替え
ライセンスキーを更新する場合は、docker cp でコンテナ内に配置して再起動します。
docker cp talon_full_text_search_license.key talon-fess:/usr/share/fess/talon_full_text_search_license.key
4. TALON の機能セットアップ
本章の設定は Docker版・スタンドアロン版共通です。
4.1 前提条件
- リポジトリ移送機能が必要です。
- クロールを実行するユーザーアカウントが必要です。
- 以下の TALON 機能が必要です。(後述手順で作成)
| 名前 | 説明 |
|---|---|
| FTS_SETUP | 全文検索機能をセットアップする機能 |
| FTS_FULLTEXT_SEARCH | 全文検索機能の実行画面 |
| FTS_CRAWL_CONFIG | 全文検索機能の設定画面 |
| FTS_FUNC_SEARCH | FTS_FULLTEXT_SEARCH で使用する検索子画面 |
| FTS_LABEL_SEARCH | FTS_CRAWL_CONFIG で使用する検索子画面 |
| FTS_COLUMN_LABELS | クロール時に機能名を付与するための検索子画面 |
| FTS_BLOCK_TYPE | 汎用コードデータ(機能ではありません) |
4.2 TALON セットアップ手順
4.2.1 リポジトリデータの取込
リポジトリ移送機能を使って配布フォルダ TALON_FTS_REPOSITORY_VX_X_X から、リポジトリ取込を実行します。リポジトリ取り込みの詳細手順については、「TALON リポジトリ移送マニュアル」を参照してください。
※ X_X_X 部分はバージョンにより変わります。
対象リポジトリにある全機能、および汎用コードを取り込んでください。
4.2.2 FTS_SETUP の実行
本機能で使用するテーブルを作成するためのセットアップを実行します。機能呼出画面から機能ID「FTS_SETUP」を呼び出し、「処理実行」ボタンをクリックしてセットアップを実行してください。
テーブルは TALON リポジトリ接続先 に作成されます。複数 DB 接続先へ作成することはできません。
対応 DB は MySQL/PostgreSQL/Oracle/SQL Server です。
なお、対象のテーブルが既に作成済みの場合、本処理にて DB に対する操作は行われません。
4.2.3 ユーザグループ権限の設定
各機能に対して、ユーザグループ権限を設定します。リポジトリ移送直後は、いずれの機能についても「システム管理」ユーザグループに表示権限が付与された状態となりますので、必要に応じて権限を変更してください。
なお、以下の検索子画面は、検索子画面参照元の機能と同じ権限を設定する必要があります。
「FTS_LABEL_SEARCH」機能:「FTS_FULLTEXT_SEARCH」機能と同一権限を設定
「FTS_FUNC_SEARCH」機能:「FTS_CRAWL_CONFIG 」機能と同一権限を設定
また「FTS_COLUMN_LABELS」は、クロール実行ユーザ( 5.3 業務データクローラーの設定 で設定 )に対して表示権限を設定する必要があります。
4.2.4 テーブル更新権限の設定
本機能で使用するテーブルの更新権限を設定します。機能構築 → テーブル更新権限設定 を開き、FTS_CRAWL_CONFIG テーブルの「更新」にチェックを入れて保存します。
「4.2.3 ユーザグループ権限の設定」で設定したユーザグループに対して、更新権限を付与してください。
4.2.5 検索機能の接続先を設定
Fess API を呼び出すための接続先を設定します。機能設定画面で機能ID「FTS_FULLTEXT_SEARCH」を開き、「機能設定画面 > アプリケーション > DB検索JavaScript(処理前)」に設定されている以下の 2 つの変数を、環境に合わせて書き換えてください。
// Fess サーバーの URL
var FESS_BASE_URL = "http://<FessのIPアドレス>:<Fessのポート番号>";
// TALON 画面の URL(コンテキストルートまで含める)
var TALON_APP_URL = "http://<TALONのIPアドレス>:<TALONのポート番号>/<コンテキストルート>";注意(同一サーバー構成の場合): FESS_BASE_URL の IP アドレスは
localhostを指定し、TALON_APP_URL の IP アドレスは TALON サーバーの実際の IP アドレスを指定してください。注意(Docker構成の場合): FESS_BASE_URL の IP アドレスおよびポート番号は
localhost:8081を指定し、TALON_APP_URL の IP アドレスは TALON サーバーの実際の IP アドレスを指定してください。
4.2.6 ラベルの選択方法を設定
全文検索機能では、ラベルを指定して検索することが可能です。
初期設定では、ラベルはチェックボックス形式となり、複数のラベルを選択して検索することが可能です。
リストボックス形式に変更するには、機能設定画面で機能ID「FTS_FULLTEXT_SEARCH」を開き、「ブロック設定画面 > 項目情報 > FT_DATASET > コンポーネント」をリストボックスに変更してください。
なおリストボックスに変更した場合、必要に応じて「検索改行」をOFFにしてください。
注意: ラベルの選択肢は、オプションリスト機能IDにて設定しています。オプションリスト機能IDはTALON V6.2.0 より搭載された機能であり、これより前のTALONを使用している場合は、使用することができません。
TALON V6.2.0より前の環境をご使用の場合は、機能設定画面で機能ID「FTS_FULLTEXT_SEARCH」を開き、「ブロック設定画面 > 項目情報 > FT_DATASET > コンポーネント」を空に変更してください。
4.2.7 クロール対象の登録
Fess がクロールする対象の機能を登録します。FTS_CRAWL_CONFIG 機能を開き、クロール対象の情報を入力して登録します。
設定内容の詳細は「TALON AI Connect - 全文検索 & AI Insight 概要」をご参照ください。なお検索条件となるキーを複数登録する場合は、カンマ区切りで入力してください。
【仕様・制約】
クロール対象の機能を登録する際は、以下の点に注意してください。
フリー検索条件の機能について フリー検索条件で作成された機能はクロール対象にすることが可能です。ただし、「開きたい機能ID」に指定した場合、対象レコードへの絞り込みができません。「開きたい機能ID」に指定する場合は、固定検索条件の機能を別途作成することを推奨します。
-
クロール時の検索条件について クロールは検索条件を指定せずにデータを取得します。そのため、以下の制約があります。
- 検索条件に初期値が設定されている機能は、その初期値で絞り込まれた結果のみがインデックス化されます。クロール対象の機能を登録する際に、検索条件の初期値設定を確認してください。
- 特定の検索条件を指定しないと表示されないデータは全文検索の対象外となります。
- 検索条件に必須項目が設定されている機能は、REST API でデータを取得できないためクロール対象外です。全文検索の対象にする場合は、検索条件を必須にしていない全文検索用の機能を別途作成してください。
「開きたい機能ID」に指定する機能の要件 検索結果からレコードを開く際、「開きたい機能ID」で指定した機能がメニューに登録されており、かつ利用ユーザーが参照可能な権限を持っている必要があります。対象機能をメニューに登録し、利用ユーザーのユーザグループに当該機能の参照権限を付与してください。
5. Fess 管理画面での設定
5.1 管理画面へのアクセス
ブラウザで以下にアクセス:
http://<FessのIPアドレス>:<Fessのポート番号>/admin/デフォルト認証情報:
- ユーザー名:
admin - パスワード:
admin
5.2 プラグインの設置確認
Fess管理画面 → クローラー → データストア → 新規作成 を開き、ハンドラー名に以下の2つが表示されていることを確認します。
TalonRestDataStoreTalonFileFuncEnricherDataStore
表示されていない場合は、以下を確認してください。
| 確認項目 | 内容 |
|---|---|
| JAR の配置場所 |
{Fessインストールディレクトリ}/app/WEB-INF/plugin/ に JAR ファイルが存在するか |
| Fess の再起動 | JAR 配置後に Fess の再起動を行ったか |
5.3 業務データクローラーの設定
データストアはラベル(機能カテゴリ)ごとに作成する必要があります。FTS_CRAWL_CONFIG で複数のラベルを登録している場合は、ラベルの数だけデータストアを作成してください。
5.3.1 データストアの作成
- Fess管理画面 → クローラー → データストア を選択
- 新規作成 をクリック
- 以下を入力:
| 項目 | 設定値 |
|---|---|
| 名前 | 任意(例: TALON業務データ) |
| ハンドラ名 | TalonRestDataStore |
- パラメータ に以下を入力:
# === ライセンス設定(スタンドアロン版のみ) ===
talon.license.path=<ライセンスファイルの絶対パス>
# === TALON REST 接続設定 ===
talon.base_url=http://<TALONのIPアドレス>:<TALONのポート番号>/<コンテキストルート>
# クロール対象データを全件参照可能なユーザーを指定
talon.username=your_username
# クロール対象データを全件参照可能なユーザーのパスワードを指定
talon.password=your_password
# 認証方式(token: TALON V6.2.3以上、form: 制限なし)
talon.auth_type=token
# クロール対象のラベル
label=<FTS_CRAWL_CONFIGで登録したラベル>
# ページング形式での取得有無(TALON V6.2.14 以前の場合は false)
talon.paging=true
# === 削除検知(TALON から削除されたデータをインデックスからも自動削除)===
# 削除検知の使用有無
deletion.enabled=true
# OpenSearch の接続先 URL(Docker版の場合: http://opensearch:9200)
opensearch.url=http://localhost:9200注意(Docker版): Docker版の場合、
talon.base_urlおよびopensearch.urlにlocalhostは使用できません(コンテナ自身を指すため)。代わりに以下を指定してください。
例:talon.base_url=http://host.docker.internal:8080/Talon
opensearch.url=http://opensearch:9200補足:
host.docker.internalは、Dockerコンテナからホストマシン上のTALONにアクセスするために使用します。Dockerコンテナと異なるマシンにセットアップされているTALONにアクセスする場合は、例:http://192.168.1.100:8080/Talonのように設定してください。※
opensearchは docker-compose.yml で定義されたサービス名です。
- 作成 をクリック
5.3.2 パラメータ詳細
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
talon.license.path |
※ | ライセンスファイルの絶対パス。スタンドアロン版は設定必須。Docker版は設定不要であるため削除する。 ※ パスは \ ではなく / 区切りで設定すること。 |
C:/fess-15.5.0/talon_full_text_search_license.key |
talon.base_url |
○ | TALON サーバーの URL(コンテキストルートを含む) | http://192.168.1.100:8080/Talon |
talon.username |
○ | TALON ログインユーザー名 本ユーザーの権限でクロールが実行される |
admin |
talon.password |
○ | TALON ログインパスワード | password123 |
talon.auth_type |
○ | 認証方式(token または form)( token はTALON V6.2.3以上で指定可能) |
token |
label |
○ | 検索時のラベル(FTS_CRAWL_CONFIG の LABEL と一致させる) | 業務データ |
talon.paging |
- | ページング取得の有効/無効 (未指定時: true)( true は TALON V6.2.15 以上で指定可能) |
true |
crawl_config.func_id |
- | クロール設定機能ID (未指定時: FTS_CRAWL_CONFIG) |
FTS_CRAWL_CONFIG |
deletion.enabled |
- | 削除検知の有効/無効。 無効にする場合は false を設定(未指定時: true) |
true |
opensearch.url |
- | OpenSearch の接続先 URL(削除検知で使用) (未指定時: http://localhost:9200) |
http://localhost:9200 |
補足: 削除検知について
削除検知を無効(
deletion.enabled=false)にした場合、TALON 側でデータを削除してもインデックスには残り続けます。
注意: TALON V6.2.14 以前をご利用の場合(
talon.pagingについて)プラグインはデータを一定件数ずつ分割して取得するページング方式を採用していますが、この機能は TALON REST API の
limit/offsetパラメータ(TALON V6.2.15 で導入)に依存しています。TALON V6.2.14 以前ではこれらのパラメータが利用できないため、
talon.paging=falseを設定してください。未設定の場合、クロールが正常に終了しない場合があります。
talon.paging=falseの場合、TALON からのデータ取得は一括取得となります。取得件数は TALON の画面最大行数の設定に依存するため、対象データの全件数以上の値を設定してください。
注意:
talon.usernameに設定するユーザーについてクロールで取得されるデータは、全文検索を利用するユーザーの権限ではなく、
talon.usernameに設定したユーザーの権限範囲で取得されます。クロール対象のデータを全件参照可能なユーザーを設定してください。
注意: インデックス化されるコンテンツの制限について
コンテンツのインデックス化に関する上限値および制限は、FESS および OpenSearch の仕様に準じます。
CLOB項目が存在する場合や、項目数が多い場合はご注意ください。
5.4 ファイルクローラー の設定
5.4.1 ファイルクローラーの作成
- Fess管理画面 → クローラー → ファイルシステム → 新規作成 をクリック
-
以下の項目を入力:
項目 説明 例 名前 一覧ページで表示される名前 TALON添付ファイルパス クロール対象のルートパス
末尾に / を必ず付与
詳細は5.4.2章を参照file:/C:/payara6/glassfish/domains/production/docroot/THUMBNAIL/クロール対象とするパス 正規表現で指定 file:/C:/payara6/glassfish/domains/production/docroot/THUMBNAIL/.*クロール対象から除外するパス 正規表現で指定(省略可) - 検索対象とするパス 正規表現で指定 file:/C:/payara6/glassfish/domains/production/docroot/THUMBNAIL/.*検索対象から除外するパス 正規表現で指定(省略可) - 状態 有効/無効 有効 - 作成 をクリック
5.4.2 クロール対象フォルダについて
当設定は複数ラベルを設定している場合でも1つのみを設定します。複数ラベルが管理するファイル情報が混在していても問題ありません。後ほどの処理にある、「ファイル紐づけ」でそれぞれのファイルに対してラベル情報などを紐づけする仕組みです。
TALON のファイルアップロード先フォルダをクロール対象フォルダに指定する必要があります。
ファイルアップロード先フォルダのパスは、以下の手順で確認できます。
- TALONメニュー画面 → 機能構築 → システム設定情報メンテナンス を開く
- キー値 =
THUMBNAIL_UPLOAD_PATHを検索 - 検索結果の「表示値」の内容を確認
初期設定の場合:
{TALONドキュメントルート}/THUMBNAIL
例: C:\payara6\glassfish\domains\production\docroot\THUMBNAILTALON と Fess+OpenSearch が同一サーバーの場合:
ローカルファイルパスで指定します。
| OS | パス指定方法 | 例 |
|---|---|---|
| Windows | 先頭に file:/ を付け、\ を / に変換 |
file:/C:/payara6/glassfish/domains/production/docroot/THUMBNAIL/ |
| Linux | 先頭に file: を付ける |
file:/home/user/payara6/glassfish/domains/production/docroot/THUMBNAIL/ |
- 末尾にスラッシュ
/を付けてください - 「クロール対象とするパス」「検索対象とするパス」は末尾に
.*を付けてサブフォルダ以下すべてを対象にします
TALON と Fess+OpenSearch が別サーバーの場合(Docker含む):
TALON サーバーのフォルダを共有フォルダに設定し、SMB プロトコルで指定する必要があります。
- TALON サーバーにて、クロール対象のフォルダを共有設定する
-
ファイルクローラー のパスに SMB パスを指定:
-
例:
smb://<TALONサーバーのIPアドレス>/<共有名>/THUMBNAIL/注意(Docker版): Docker 版 Fess からホストマシンの共有フォルダにアクセスする場合、ホスト名に
host.docker.internalを使用してください。
例:smb://host.docker.internal/<共有名>/THUMBNAIL/
-
-
ファイル認証 を作成(Fess管理画面 → クローラー → ファイル認証 → 新規作成):
- ホスト名: TALON サーバーの IP アドレス(ファイルクローラーのSMBパスに設定したIPアドレス)
- スキーム:
Samba - ユーザー名: 共有フォルダにアクセスできるユーザー名
- パスワード: パスワード
- ファイルクロール設定: 作成したファイルクローラーを選択
5.4.3 config_id の確認方法
ファイル紐づけクローラーで使用する file.config_id を確認:
- Fess管理画面 → クローラー → ファイルシステム を選択
- 作成したファイルクローラーを選択
- 詳細画面の「ID」欄を確認(例:
YdiZb5wBkM9asjhuwGhq)
5.5 ファイル紐づけクローラーの設定
5.5.1 データストアの作成
当設定は、複数のラベルを設定している場合でも1つのみの設定を行います。
- Fess管理画面 → クローラー → データストア を選択
- 新規作成 をクリック
- 以下を入力:
| 項目 | 設定値 |
|---|---|
| 名前 | 任意(例: TALONファイル紐付け) |
| ハンドラ名 |
TalonFileFuncEnricherDataStore(ファイルと業務データを紐付けてインデックス化) |
- パラメータ に以下を入力:
# === ライセンス設定(スタンドアロン版のみ) ===
talon.license.path=<ライセンスファイルの絶対パス>
# === Fess API 接続設定 ===
fess.base_url=http://localhost:<Fessのポート番号>
# ファイルクローラーの config_id
file.config_id=<ファイルクローラーのID>
# クロール対象フォルダのパス
# 例: C:/payara6/glassfish/domains/production/docroot/THUMBNAIL
file.docroot_path=<クロール対象フォルダのパス>
# === 削除検知(古い紐付けドキュメントをインデックスから自動削除)===
# 削除検知の使用有無
deletion.enabled=true
# OpenSearch の接続先 URL(Docker版の場合: http://opensearch:9200)
opensearch.url=http://localhost:9200注意(Docker版): Docker版の場合、
fess.base_urlはhttp://host.docker.internal:8081を指定してください。また、opensearch.urlはhttp://opensearch:9200を指定してください。
作成 をクリック
5.5.2 パラメータ詳細
| パラメータ | 必須 | 説明 | 例 |
|---|---|---|---|
talon.license.path |
※ | ライセンスファイルの絶対パス。スタンドアロン版は設定必須。Docker版は設定不要であるため削除する。 ※ パスは \ ではなく / 区切りで設定すること。 |
C:/fess-15.5.0/talon_full_text_search_license.key |
fess.base_url |
○ | Fess API の URL | http://localhost:8081 |
file.config_id |
○ | ファイルクローラーの config_id (5.4.3 config_id の確認方法 を参照) |
lYQUupoBgzlpLB7Lqwdf |
file.docroot_path |
○ | 「5.4.2 クロール対象フォルダについて」で確認したTHUMBNAIL_UPLOAD_PATH の表示値※ パスは \ ではなく / 区切りで設定すること。 |
C:/payara6/.../THUMBNAIL |
deletion.enabled |
- | 削除検知の有効/無効。無効にする場合は false を設定(未指定時: true) |
true |
opensearch.url |
- | OpenSearch の接続先 URL(削除検知で使用) (未指定時: http://localhost:9200) |
http://localhost:9200 |
5.6 統合ジョブ の設定(一括実行)
設定したクローラーは、以下の順番で実行する必要があります。
業務データクローラー
ファイルクローラー
ファイル紐づけクローラー
本章では、上記の順番でクローラーを一括実行するジョブを作成します。
5.6.1 ジョブの作成
- システム → スケジューラ → 新規作成 をクリック
- 以下の項目を入力・選択:
| 項目 | 説明 |
|---|---|
| 名前 | 一覧で表示される名前(例: TALON 統合ジョブ) |
| 対象 | バッチ実行時の識別子(通常は all を指定) |
| スケジュール | Cron形式(例: 0 0 2 * * ? で毎日午前2時) |
| スクリプト | 5.6.2 スクリプト例 を参照 |
| ロギング | 有効にするとジョブログへ記録されます |
| クローラージョブ | 有効にするとクロールジョブとして扱われます |
| 状態 | 有効 を指定します |
| 表示順序 | ジョブ一覧での表示順を指定します |
- 作成 をクリック(ジョブスケジューラに登録される)
5.6.2 スクリプト例
// ====================================================
// TALON 全文検索 クロールジョブ(直列実行版)
// ====================================================
// Step 1: 業務データクローラー
// Step 2: ファイルクロール
// Step 3: ファイル紐づけクローラー
// ====================================================
def crawlJob = container.getComponent("crawlJob")
// タイムスタンプを秒単位に変換
def ts = (System.currentTimeMillis() / 1000) as long
// ====================================================
// 設定エリア(IDを追加・変更する場合はここを編集)
// ====================================================
// 業務データクローラーのID
def businessDataIds = [
"<業務データクローラーのID>" // 業務データクローラー 1つ目
//, "<業務データクローラーのID>" // 業務データクローラー 2つ目
// 追加時はカンマ区切りでIDを追加する
]
// ファイルクローラーのID
def fileConfigId = "<ファイルクローラーのID>"
// ファイル紐づけクローラーのID
def enricherDataId = "<ファイル紐づけクローラーのID>"
// ====================================================
// Step 1: 業務データクローラーを1つずつ直列実行
// ====================================================
businessDataIds.eachWithIndex { id, idx ->
crawlJob.logLevel("info")
.sessionId("tb_" + ts + "_" + (idx + 1))
.webConfigIds([] as String[])
.fileConfigIds([] as String[])
.dataConfigIds([id] as String[])
.jobExecutor(executor)
.execute()
}
// ====================================================
// Step 2: ファイルクローラーを実行
// ====================================================
crawlJob.logLevel("info")
.sessionId("tf_" + ts)
.webConfigIds([] as String[])
.fileConfigIds([fileConfigId] as String[])
.dataConfigIds([] as String[])
.jobExecutor(executor)
.execute()
// ====================================================
// Step 3: ファイル紐づけクローラーを実行
// ====================================================
crawlJob.logLevel("info")
.sessionId("te_" + ts)
.webConfigIds([] as String[])
.fileConfigIds([] as String[])
.dataConfigIds([enricherDataId] as String[])
.jobExecutor(executor)
.execute()
return true5.6.3 各種IDの確認方法
| ID種別 | 対象 | 確認方法 |
|---|---|---|
| businessDataIds | 業務データクローラー | クローラー → データストア → 対象を選択 → 詳細画面の「ID」欄 |
| fileConfigId | ファイルクローラー | クローラー → ファイルシステム → 対象を選択 → 詳細画面の「ID」欄 |
| enricherDataId | ファイル紐づけクローラー | クローラー → データストア → 対象を選択 → 詳細画面の「ID」欄 |
6. クロール実行
5.6 統合ジョブ の設定(一括実行) で作成した統合ジョブを使用してクロールを実行します。
統合ジョブは以下の順序で各クローラーを順次実行します。ファイル紐づけクローラーは業務データとファイルの両方が完了している必要があるため、この実行順序が重要です。
1. 業務データクローラー
↓
2. ファイルクローラー
↓
3. ファイル紐づけクローラー6.1 スケジューラによる定期実行
統合ジョブにスケジュールを設定している場合、指定した間隔で自動的にクロールが実行されます。
スケジュールの確認・変更は システム → スケジューラ → 統合ジョブを選択して行います。
6.2 手動実行
システム → スケジューラ → 統合ジョブを選択し、今すぐ開始 をクリックすると即座にクロールを開始できます。
7. 動作確認
7.1 クロール状況の確認
- システム情報 → クロール情報 を選択
- それぞれのクロール結果を押下すると詳細が確認できます
- 詳細画面のセッションIDを押下すると、そのセッションでインデックス化されたドキュメントを確認できます
※セッションID以外の情報が表示されない場合、クロール処理が完了していません。今しばらくお待ちください。
なお、クロール処理が完了しない場合は、トラブルシューティングガイド を参照してください。
7.2 TALON 全文検索の確認
クロールが完了したら、TALON 側から全文検索が正しく動作するか確認します。
- TALON から機能ID FTS_FULLTEXT_SEARCH を開きます
- 検索キーワードを入力して検索を実行します
8 AI Insightのセットアップについて
AI Insight(データ分析レポート機能)のセットアップについては『TALON AI Connect - AI Insight セットアップガイド』を参照してください。