データストアコネクタの概要

概要

Fess のデータストアコネクタは、Webサイトやファイルシステム以外のデータソースから コンテンツを取得してインデックス化する機能を提供します。

データストアコネクタを使用することで、以下のようなソースからデータを検索可能にできます:

  • クラウドストレージ(Box、Dropbox、Google Drive、OneDrive)

  • コラボレーションツール(Confluence、Jira、Slack)

  • データベース(MySQL、PostgreSQL、Oracle等)

  • その他のシステム(Git、Salesforce、Elasticsearch等)

利用可能なコネクタ

Fess は多様なデータソースに対応するコネクタを提供しています。 多くのコネクタはプラグインとして提供されており、必要に応じてインストールできます。

クラウドストレージ

コネクタ プラグイン 説明
Boxコネクタ fess-ds-box Box.comのファイルとフォルダをクロール
Dropboxコネクタ fess-ds-dropbox Dropboxのファイルとフォルダをクロール
Google Workspaceコネクタ fess-ds-gsuite Google Driveをクロール
Microsoft 365コネクタ fess-ds-microsoft365 OneDrive、SharePointなどをクロール

コラボレーションツール

コネクタ プラグイン 説明
Atlassianコネクタ fess-ds-atlassian Confluence、Jiraをクロール
Slackコネクタ fess-ds-slack Slackのメッセージとファイルをクロール

開発・運用ツール

コネクタ プラグイン 説明
Gitコネクタ fess-ds-git Gitリポジトリのソースコードをクロール
Elasticsearch/OpenSearchコネクタ fess-ds-elasticsearch Elasticsearch/OpenSearchからデータを取得
Salesforceコネクタ fess-ds-salesforce Salesforceのオブジェクトをクロール

データベース・ファイル

コネクタ プラグイン 説明
データベースコネクタ fess-ds-db JDBC対応データベースからデータを取得
CSVコネクタ fess-ds-csv CSVファイルからデータを取得
JSONコネクタ fess-ds-json JSONファイルからデータを取得

その他

以下のコネクタも利用可能です:

コネクタ プラグイン 説明
SharePoint fess-ds-sharepoint SharePointリポジトリからデータを取得(レガシー版)
Wikipedia fess-ds-wikipedia Wikipediaのコンテンツを取得

コネクタのインストール

プラグインのインストール

データストアコネクタのプラグインは、管理画面からインストールできます。

管理画面から

  1. 管理画面にログイン

  2. 「システム」→「プラグイン」に移動

  3. 「インストール」ボタンをクリック

  4. 「リモート」タブからインストールするプラグインを選択(または「ローカル」タブでJARファイルをアップロード)

  5. 「インストール」をクリック

  6. Fess を再起動

データストア設定の基本

データストアコネクタの設定は、管理画面の「クローラー」→「データストア」で行います。

共通設定項目

すべてのデータストアコネクタに共通する設定項目:

項目 説明
名前 設定の識別名
説明 設定の説明文
ハンドラ名 使用するコネクタのハンドラ名(例: CsvDataStore
パラメーター コネクタ固有の設定パラメーター(key=value形式)
スクリプト インデックスフィールドのマッピングスクリプト
ブースト 検索結果の優先度
権限 このデータストアから取得したドキュメントのアクセス権限
仮想ホスト この設定を適用する仮想ホスト
表示順序 設定一覧での表示順序
有効 この設定を有効にするかどうか

パラメーター設定

パラメーターは改行区切りの key=value 形式で指定します:

api.key=xxxxxxxxxxxxx
folder.id=0
max.depth=3

スクリプト設定

スクリプトでは、取得したデータを Fess のインデックスフィールドにマッピングします。 各行の左辺が Fess のインデックスフィールド、右辺がコネクタから取得したフィールドです。

以下はCSVコネクタ(ヘッダー行に linksubjectbody の列がある場合)の例です:

url=link
title=subject
content=body

注釈

スクリプトで参照できるフィールド名はコネクタごとに異なります。 Box/Dropbox/Google Drive/OneDriveでは file.* 、Slackでは message.* 、 Jiraでは issue.* のように、取得したオブジェクトをプレフィックス付きで参照します。 一方、CSV・JSON・データベースの各コネクタはプレフィックスを使用せず、フィールド名を直接参照します:

  • CSV: ヘッダー行の列名( has_header_line=true の場合)、または cell1cell2 ...(1始まりの列インデックス)。加えて csvfilecsvfilename が利用できます。

  • JSON: JSONオブジェクトのフィールド名

  • データベース: SELECT結果の列名(エイリアス)

各コネクタの詳細は個別のドキュメントを参照してください。

認証設定

多くのデータストアコネクタは、OAuth 2.0、APIキー、サービスアカウントなどによる認証が必要です。

認証パラメーターはコネクタごとに異なります。 各コネクタの認証設定については、個別のドキュメントを参照してください。

共通パラメーター

すべてのデータストアコネクタで使用できる共通パラメーター:

パラメーター デフォルト 説明
readInterval 0 各レコードの処理間の待機時間(ミリ秒)。大量データ処理時にサーバー負荷を軽減するために使用します。
script_type groovy インデックスフィールドのマッピングに使用するスクリプトエンジンの種類。標準では groovy のみ利用可能です。

トラブルシューティング

コネクタが表示されない

  1. プラグインが正しくインストールされているか確認

  2. Fess を再起動

  3. ログでエラーがないか確認

認証エラー

  1. 認証情報が正しいか確認

  2. トークンの有効期限を確認

  3. 必要な権限が付与されているか確認

  4. サービス側でAPIアクセスが許可されているか確認

データが取得できない

  1. パラメーターの形式が正しいか確認

  2. 対象のフォルダ/ファイルに対するアクセス権を確認

  3. フィルター設定を確認

  4. ログで詳細なエラーメッセージを確認

デバッグ設定

問題を調査する際は、ログレベルを調整します。データストアのクロールはクローラープロセスで 実行されるため、クローラー用のログ設定ファイルを編集します:

app/WEB-INF/env/crawler/resources/log4j2.xml:

<Logger name="org.codelibs.fess.ds" level="DEBUG"/>

参考情報