Fess 13.5からはMinIO連携が入る予定ですが、MinIOへのアクセスをstorage://という新たなプロトコルで追加します。なので、ファイルクロールの設定でstorage://バケット名/ とすることでクロールすることができます。
まず、MinIOを以下のような感じで起動しておきます。
docker run -p 9000:9000 \ -e "MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE" \ -e "MINIO_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \ minio/minio server /data
Fessのクロール設定的には、たとえば、fessというバケット名であれば
パス:storage://fess/
設定パラメータ:
client.endpoint=http://localhost:9000
client.accessKey=AKIAIOSFODNN7EXAMPLE
client.secretKey=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
という感じになります。あとは、普通にfessバケット配下をインデックスしてくれます。
MinIOはバックエンドで動いている想定なので、検索結果のリンクをクリックすると、Fessのコンテンツプロキシ機能によって、MinIOに直接ではなく、Fess経由で取得することができます。これにより、Fessへのアクセス権限を用いて管理することもできます。
MinIO自体はゲートウェイ機能もあるので、AWS S3を対象にできたり、GCPやAzureなども同様にクロールすることができるようになります。