概要
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、Gmailなどをクロール |
| Microsoft 365コネクタ | fess-ds-office365 | 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のオブジェクトをクロール |
データベース・ファイル
| コネクタ | プラグイン | 説明 |
|---|---|---|
| データベースコネクタ | (組み込み) | JDBC対応データベースからデータを取得 |
| CSVコネクタ | fess-ds-csv | CSVファイルからデータを取得 |
| JSONコネクタ | fess-ds-json | JSONファイルからデータを取得 |
コネクタのインストール
プラグインのインストール
データストアコネクタのプラグインは、管理画面または plugin コマンドでインストールできます。
管理画面から
管理画面にログイン
「システム」→「プラグイン」に移動
「Available」タブで対象のプラグインを検索
「インストール」をクリック
Fess を再起動
コマンドライン
# プラグインをインストール
./bin/fess-plugin install fess-ds-box
# インストール済みプラグインを確認
./bin/fess-plugin list
Docker環境
# 起動時にプラグインをインストール
docker run -e FESS_PLUGINS="fess-ds-box,fess-ds-dropbox" codelibs/fess:15.5.0
データストア設定の基本
データストアコネクタの設定は、管理画面の「クローラー」→「データストア」で行います。
共通設定項目
すべてのデータストアコネクタに共通する設定項目:
| 項目 | 説明 |
|---|---|
| 名前 | 設定の識別名 |
| ハンドラ名 | 使用するコネクタのハンドラ名(例: BoxDataStore) |
| パラメーター | コネクタ固有の設定パラメーター(key=value形式) |
| スクリプト | インデックスフィールドのマッピングスクリプト |
| ブースト | 検索結果の優先度 |
| 有効 | この設定を有効にするかどうか |
パラメーター設定
パラメーターは改行区切りの key=value 形式で指定します:
api.key=xxxxxxxxxxxxx
folder.id=0
max.depth=3
スクリプト設定
スクリプトでは、取得したデータを Fess のインデックスフィールドにマッピングします:
url=data.url
title=data.name
content=data.content
mimetype=data.mimetype
filetype=data.filetype
filename=data.filename
created=data.created
lastModified=data.lastModified
contentLength=data.contentLength
認証設定
多くのデータストアコネクタは、OAuth 2.0またはAPIキーによる認証が必要です。
OAuth 2.0認証
一般的なOAuth 2.0の設定パラメーター:
client.id=クライアントID
client.secret=クライアントシークレット
refresh.token=リフレッシュトークン
または:
access.token=アクセストークン
APIキー認証
api.key=APIキー
api.secret=APIシークレット
サービスアカウント認証
service.account.email=サービスアカウントのメールアドレス
service.account.key=秘密鍵(JSON形式または鍵ファイルパス)
パフォーマンスチューニング
大量のデータを処理する場合の設定:
# バッチサイズ
batch.size=100
# リクエスト間の待機時間(ミリ秒)
interval=1000
# 並列処理数
thread.size=1
# タイムアウト(ミリ秒)
timeout=30000
トラブルシューティング
コネクタが表示されない
プラグインが正しくインストールされているか確認
Fess を再起動
ログでエラーがないか確認
認証エラー
認証情報が正しいか確認
トークンの有効期限を確認
必要な権限が付与されているか確認
サービス側でAPIアクセスが許可されているか確認
データが取得できない
パラメーターの形式が正しいか確認
対象のフォルダ/ファイルに対するアクセス権を確認
フィルター設定を確認
ログで詳細なエラーメッセージを確認
デバッグ設定
問題を調査する際は、ログレベルを調整します:
app/WEB-INF/classes/log4j2.xml:
<Logger name="org.codelibs.fess.ds" level="DEBUG"/>
参考情報
データストアクロール - データストア設定ガイド
プラグイン - プラグイン管理ガイド
../api/admin/api-admin-dataconfig - データストア設定API