FessでS3/GCSの対応

次にリリースされるFess 15.4で、Amazon S3とGoogle Cloud Storage(GCS)のファイルクロールに対応する予定です。

これまでFessでは、file、smb、ftp、storageなどのプロトコルでファイルをクロールできましたが、クラウドストレージに対応してほしいという要望があったので、S3とGCSのサポートを追加しました。

設定としては、crawler.file.protocolss3gcsが追加されるので、ファイルシステムクロールの設定でs3://bucket/pathgcs://bucket/pathといったURLを指定することで、クラウドストレージ上のファイルをクロールできるようになります。

クロール処理の内部では、これらのURLをファイルパスとして認識して、適切に処理するようにProtocolHelperに対応を追加しています。詳細はPR #2982を参照してください。

Fess 15.4がリリースされたら、ぜひ試してみてください。

Fess 15.3.2のリリース

Fess 15.3.2をリリースしました。

Fess 15からElasticsearchからOpenSearchにコード的にも置き換えていったのですが、一部変更漏れがあって、差分クロールが期待通りに動かない場合があったりしたので、その修正を入れました。

その他にも、15.3からSMBでアクセスするjcifsとHTMLパーサーのnekohtmlに対して、大きなリファクタリングを入れました。これらのライブラリが古すぎて、メンテにも限界が来ていたので、かなり書き換えたのですが、nekohtmlの方でパースできないHTMLがあったりしたので、修正しました。

今後も定期的に依存するライブラリの更新をしながら、きちんと動くようにしていこうと思います。

FessのDockerイメージの整理

現状は、eclipse-temurin:21-jre-jammyをベースにDockerイメージを作ってましたが、Fess 15.1からベースイメージを整理して、以下のような感じにする予定です。

  • ghcr.io/codelibs/fess:15.1.0
  • ghcr.io/codelibs/fess:15.1.0-noble
  • ghcr.io/codelibs/fess:15.1.0-al2023

15.1.0タグは、alpineベースにして、イメージサイズを減らすようにします。イメージサイズを減らすので、サムネイル生成に必要なコマンドも入っていません。一方、15.1.0-nobleはMS OfficeやPDFなどのサムネイル生成に必要なコマンドを含めてあります。15.1.0-al2023はunoconvがパッケージでは入らなかったので、MS Officeのサムネイルは作れないです。

という感じの整理で、様子を見ながらやっていこと思います。