概要
Fess では検索結果のサムネイル画像を表示することができます。 サムネイル画像は検索結果のMIME Typeを元に生成されます。 サポートしているMIME Typeであれば、検索結果の表示時にサムネイル画像を生成します。 サムネイル画像を生成する処理はMIME Typeごとに設定して追加することができます。
サムネイル画像を表示するためには、管理者としてログインして、全般の設定でサムネイル表示を有効にして保存してください。
サポートしているファイル形式
画像ファイル
| 形式 | MIMEタイプ | 説明 |
|---|---|---|
| JPEG | image/jpeg | 写真など |
| PNG | image/png | 透過画像など |
| GIF | image/gif | アニメーションGIF含む |
| BMP | image/bmp, image/x-windows-bmp, image/x-ms-bmp | ビットマップ画像 |
| TIFF | image/tiff | 高品質画像 |
| SVG | image/svg+xml | ベクター画像 |
| Photoshop | image/vnd.adobe.photoshop, image/photoshop, application/x-photoshop, application/photoshop | PSDファイル |
ドキュメントファイル
| 形式 | MIMEタイプ | 説明 |
|---|---|---|
application/pdf | PDFドキュメント | |
| Word | application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document | Word文書 |
| Excel | application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | Excelスプレッドシート |
| PowerPoint | application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.presentation | PowerPointプレゼンテーション |
| RTF | application/rtf | リッチテキスト |
| PostScript | application/postscript | PostScriptファイル |
HTMLコンテンツ
| 形式 | MIMEタイプ | 説明 |
|---|---|---|
| HTML | text/html | HTMLページ内の埋め込み画像からサムネイルを生成 |
必要な外部ツール
サムネイル生成には、以下の外部ツールが必要です。使用するファイル形式に応じてインストールしてください。
基本ツール(必須)
| ツール | 用途 | Linux (apt) | Mac (Homebrew) |
|---|---|---|---|
| ImageMagick | 画像変換・リサイズ | apt install imagemagick | brew install imagemagick |
注釈
ImageMagick 6(convert コマンド)とImageMagick 7(magick コマンド)の両方に対応しています。
SVGサポート
| ツール | 用途 | Linux (apt) | Mac (Homebrew) |
|---|---|---|---|
| rsvg-convert | SVG→PNG変換 | apt install librsvg2-bin | brew install librsvg |
PDFサポート
| ツール | 用途 | Linux (apt) | Mac (Homebrew) |
|---|---|---|---|
| pdftoppm | PDF→PNG変換 | apt install poppler-utils | brew install poppler |
MS Officeサポート
| ツール | 用途 | Linux (apt) | Mac (Homebrew) |
|---|---|---|---|
| unoconv | Office→PDF変換 | apt install unoconv | brew install unoconv |
| pdftoppm | PDF→PNG変換 | apt install poppler-utils | brew install poppler |
Redhat系OSの場合は以下のパッケージをインストールします。
PostScriptサポート
| ツール | 用途 | Linux (apt) | Mac (Homebrew) |
|---|---|---|---|
| ps2pdf | PS→PDF変換 | apt install ghostscript | brew install ghostscript |
| pdftoppm | PDF→PNG変換 | apt install poppler-utils | brew install poppler |
HTMLファイルのサムネイル画像
HTMLのサムネイル画像はHTML内で指定された画像または含まれている画像を利用します。 以下の順にサムネイル画像を探して指定されている場合に表示します。
name属性がthumbnailで指定されたmetaタグのcontentの値
property属性がog:imageで指定されたmetaタグのcontentの値
imgタグでサムネイルに適したサイズの画像
設定
設定ファイル
サムネイルジェネレータの設定は fess_thumbnail.xml で行います。
主な設定項目(fess_config.properties)
app/WEB-INF/classes/fess_config.properties または /etc/fess/fess_config.properties で以下の項目を設定できます。
generate-thumbnail スクリプト
概要
generate-thumbnail は、実際のサムネイル生成を行うシェルスクリプトです。 RPM/Debパッケージでインストールすると、 /usr/share/fess/bin/generate-thumbnail にインストールされます。
使用方法
引数
| 引数 | 説明 | 例 |
|---|---|---|
type | ファイルタイプ | image, svg, pdf, msoffice, ps |
url | 入力ファイルのURL | file:/path/to/file.jpg |
output_file | 出力ファイルパス | /var/lib/fess/thumbnails/_0/_1/abc.png |
mimetype | MIMEタイプ(オプション) | image/gif |
サポートするタイプ
| タイプ | 説明 | 使用ツール |
|---|---|---|
image | 画像ファイル | ImageMagick (convert/magick) |
svg | SVGファイル | rsvg-convert |
pdf | PDFファイル | pdftoppm + ImageMagick |
msoffice | MS Officeファイル | unoconv + pdftoppm + ImageMagick |
ps | PostScriptファイル | ps2pdf + pdftoppm + ImageMagick |
使用例
サムネイル保存先
デフォルトパス
または
ディレクトリ構造
サムネイルはハッシュベースのディレクトリ構造で保存されます。
サムネイルジョブの無効化
サムネイルジョブを無効化する場合は以下を設定します。
管理画面の システム > 全般 で「サムネイル表示」のチェックを外し、「更新」ボタンをクリック。
app/WEB-INF/classes/fess_config.propertiesまたは/etc/fess/fess_config.propertiesのthumbnail.crawler.enabledにfalseを設定。
Fessのサービスを再起動。
トラブルシューティング
サムネイルが生成されない
外部ツールの確認
ログの確認
手動でスクリプトを実行
GIF/TIFFでエラーが発生する
ImageMagick 6を使用している場合、MIMEタイプを指定してフォーマットヒントを有効にしてください。Fessの設定が正しければ自動的に行われます。
エラー例:
対処法:
ImageMagick 7にアップグレード
または、MIMEタイプが正しく渡されていることを確認
SVGのサムネイルが生成されない
rsvg-convertがインストールされているか確認
手動で変換をテスト
権限エラー
サムネイル保存ディレクトリの権限を確認します。
必要に応じて権限を修正します。
プラットフォーム対応
| プラットフォーム | 対応状況 | 備考 |
|---|---|---|
| Linux | 完全対応 | - |
| macOS | 完全対応 | Homebrewで外部ツールをインストール |
| Windows | 非対応 | bashスクリプトのため |