目次
1. システム概要
本システムは、TALON(ローコード業務システム開発基盤)で構築した業務システムのデータを全文検索可能とし、AI が自動で異常検知・分析レポートを生成するソリューションです。
下記の機能を提供しています。
■ 全文検索
機能を横断した検索機能
レコードに添付したファイルの全文検索機能
■ AI Insight
レコードの集計機能とルールベースによる異常検知機能
AI による分析・提案機能 このようなレポートが出力されます
1.1 解決する課題
| システム | 課題 | 解決策 |
|---|---|---|
| 全文検索 | 業務データが分散している | 複数の業務画面のデータを横断検索 |
| ファイルと業務データが紐付かない | PKEY 情報で自動紐付け | |
| 検索から業務画面への導線がない | 検索結果から直接業務画面・ファイルを開ける | |
| AI Insight | 業務データの不具合や異常に気付かない | 自動的に異常検知 |
| 分析に時間がかかる | 業務カテゴリ単位で自動的に集計 | |
| 定期的なチェックが続かない | 定期的に自動でチェック |
1.2 特徴
■ 全文検索
- 汎用性: TALON で構築したあらゆる業務システムに適用可能
- 柔軟性: 機能ID を指定するだけで任意の業務データを取り込み
- 統合検索: 業務データとファイルを同じ検索で横断的に検索
■ AI Insight
- 低コスト: OpenSearch の集計機能を活用し、LLM は必要最小限のみ使用。ルール検知・統計集計は API 不要で動作。AI 分析利用時も OpenSearch の集計結果のみを送信するため、1日あたりの API コストは数百円~程度から開始できます
- シンプルな出力: HTML/JSON 形式のレポートを出力(UI不要)
- 階層型分析: 粗いスクリーニング → 詳細分析 → 深掘り を実施(Coarse-to-Fine)
■ セキュリティについて
業務データはオンプレミス環境内で完結します。AI分析はオプションであり、利用する場合のみ統計サマリが Claude API に送信されます。(元データ全件は送信されません)
- AIの学習には使用されません: 当サービスはAPI経由で生成AIサービスに接続します。Claude APIは、利用規約により「APIを通じて送信されたデータはモデルの学習には使用しない」と明記されています。お客様の業務データがAIの学習に使用されて流出する心配はありません。
1.3 導入は3ステップ
2. システム構成
本システムでは、オープンソースの全文検索基盤として Fess および OpenSearch を利用し、AI基盤として Claude を使用します。
Fess は、定期的に TALON の機能に対して REST API による検索を実行し、取得した結果を OpenSearch のインデックスへ登録します。また、添付ファイル格納フォルダをクロールして文書内容を抽出し、同様に OpenSearch のインデックスへ登録します。
全文検索機能は TALON に設置します。TALON は Fess を介して検索を実行し、取得した結果を画面に表示します。
AI Insight 機能は Fess に設置します。Fess からクロールした結果を元に集計を行い、必要に応じて Claude で分析し、レポートを作成します。
3. 機能説明(全文検索)
3.1 機能設定
全文検索の対象となる機能を指定します。あわせて、検索結果として取得したレコードを開くための機能を別途指定することも可能です。これにより、一覧機能で検索した結果を、単票ブロックとして表示できます。
また、複数の機能を機能カテゴリ(ラベル)として定義し、機能カテゴリ単位で検索することも可能です。これにより、受発注業務に絞った検索や、経理業務に絞った検索などを実施できます。
<動作イメージ>
<設定イメージ>
3.2 全文検索機能
検索文字列と機能カテゴリ(ラベル)を指定して検索を実行すると、指定した機能カテゴリを対象に全文検索した結果が表示されます。機能カテゴリ(ラベル)が未指定の場合は、すべての機能カテゴリを対象に検索が実行されます。
検索は Fess を介して実行され、Fess により関連度が高いと評価された順に、業務データおよび添付ファイルの検索結果が表示されます。なお、検索クエリの仕様は Fess に準拠します。詳細は以下の公式ドキュメントをご参照ください。
https://fess.codelibs.org/ja/15.5/user/index.html
機能設定で「表示機能」を指定している場合、検索結果から業務データの詳細を開くことができます。添付ファイルについては、検索結果からダウンロードが可能です。
<検索実行のイメージ図>
4. 機能説明(AI Insight)
4.1 機能設定
AI Insight の実行スケジュールを設定します。本システムは Fess のスケジューラから実行されます。ミニマムの設定はスケジューリング、レポート出力パス、および OpenSearch 接続先のみであり、全文検索システムにより保持された OpenSearch のクロール情報から、各種レポートデータを生成します。
必要に応じて、異常通知アラートルールのカスタマイズ、および AI 分析に使用するプロンプトを設定することができます。
<動作イメージ>
4.2 レポート機能
AI Insight システムにより、自動的に機能カテゴリ(ラベル)毎にレポートファイルが日次および週次で出力されます。
設定した異常通知アラートルールに基づき、レコード件数急増、一定期間更新無しなどのアラートが出力されます。
また AI が分析することで、細かな指示を設定せずとも、不正と思われるデータを自動的に抽出することができます。
生成されたレポートは Fess の Web サーバー上でブラウザから閲覧できます。
<異常通知・集計サンプル>
<AI分析サンプル>
5. 動作環境
5.1 システム要件
| コンポーネント | バージョン | 備考 |
|---|---|---|
| Java | 21 以上 | OpenSearch 3.x に必須 |
| Fess | 15.5.0 | エンタープライズサーチサーバー |
| OpenSearch | 3.5.0 | 全文検索エンジン |
| TALON | 5.1.23 以上 | REST API が有効であること |
Docker 環境の利用を推奨
手動セットアップの他に、Docker Compose を使った環境構築が可能です。Docker を使うことで、Fess、OpenSearch、fess-ds-talon プラグインが事前に統合された環境を簡単に起動できます。設置方法の詳細は TALON AI Connect - 全文検索 セットアップガイド を参照してください。
5.2 サーバー構成
1サーバー構成
TALON サーバーに Fess / OpenSearch を設置します。
留意事項
- クロール実行時は CPU やメモリに負荷がかかるため、サーバーリソースのサイジングや実行タイミングを含めて、事前の設計が必要です。
Fess / OpenSearch の実行には Java 21 が必要です。
TALON の実行環境(Java 11)とは別途、同一サーバー上に併存させる必要があります。
分散構成
TALON サーバーとは別のサーバーに、Fess / OpenSearch を設置します。
(Docker 環境を利用する場合は、物理的に同一サーバー上に配置する場合でも、コンテナ環境として分離されるため、本構成に該当します。)
留意事項
- Fess から添付ファイルをクロールするため、添付ファイル格納フォルダは共有フォルダにする必要があります。
- セキュリティ対策のため、以下の対応を推奨します。
- TALON サーバー以外からの Fess へのアクセスを制限する
6. 制約事項
- TALON の各種機能に対して、検索条件未指定で検索した結果がクロール対象となります。
- 検索条件を指定することはできません。
- 「検索必須」が設定されている機能は、クロール対象機能として指定することはできません。
- 「検索条件初期値」が設定されている場合は、その初期値で検索した結果がクロール対象となります。
- クロール実行ユーザーでの検索結果がクロール対象となります。
- クロール対象は、明細ブロックのみサポートします。
- TALON V6.2.14 以前の環境では、「ブロック設定画面 > 詳細設定 > 画面最大行数」に設定されている件数までがクロール対象となります。
TALON V6.2.15 以降では、全件がクロール対象となります。
- 検索 API (REST) で取得した値 (JSON) がクロール対象 となります。
- 項目を指定して検索することはできません。
- 項目名で検索した場合は、当該項目を保持しているすべてのレコードが検索ヒットされます。
- 範囲指定検索は実行できません。
- 全文検索は、Fess での検索結果をそのまま表示します。
- レコードに存在しない値で検索した場合でも、検索ヒットすることがあります。
- レコード内の文字列で検索した場合でも、完全一致でない場合は検索ヒットしないことがあります。
(部分一致検索の実行は可能です。詳細は 3.2 全文検索機能 を参照してください。)
- 全文検索実行画面で機能を開くリンクを押下すると、「表示機能」に指定した機能を、指定した検索条件を付与した状態で起動します。
「表示機能」がメニューに登録されていない場合は機能を起動できないため、エラーが表示されます。
「表示機能」に検索初期条件が設定されている場合は、当該初期条件が適用された状態で検索が実行されるため、対象レコードが表示されないことがあります。