Fessの検索画面は標準のままでも十分に利用できますが、「社内ポータルの雰囲気に合わせたい」「FAQサイトやドキュメントサイトの検索など、用途に合った画面にしたい」といった要望は少なくありません。とはいえ、検索画面を一から作り込むには、HTMLやCSS、JavaScriptの知識と相応の作業時間が必要です。
Fess 15.9では、検索画面がHTML・CSS・JavaScriptで構成される「テーマ」で表示されるようになりました。テーマはZIPファイルとして管理画面から入れ替えられ、用途別に作られたテーマが「fess-themes」として公開されています。本記事では、このfess-themesのテーマをFessに導入して、検索画面のデザインを切り替える方法を紹介します。
今回は、Fess 15.9.0を利用して、手順を説明します。
テーマとは
テーマは、HTML・CSS・JavaScriptだけで構成された検索画面です。Fessの検索API(/api/v2/*)を呼び出して検索結果を表示するため、Fess本体のファイルを書き換える必要はありません。
Fess 15.9では、検索画面は常にテーマで表示されます。デフォルトテーマを設定していない場合は、Fessに同梱されている「bootstrap」テーマが使われます。つまり、これまで目にしていた標準の検索画面も、15.9以降はテーマの1つです。テーマを切り替えても、標準の画面にいつでも戻せます。
注意 Fess 15.8までのJSPベースの検索画面と、従来のJARプラグイン形式のテーマ(
fess-theme-*)は、15.9で廃止されました。見た目を変更するにはテーマを利用します。
fess-themesで公開されているテーマ
fess-themesは、Fess用のテーマを集めたリポジトリです。各テーマはZIPファイルとして公開されており、Fess 15.9向けには次の11種類があります。
まずは、特別な設定なしで利用できる、デザイン重視のテーマです。
| テーマ名 | 特徴 |
|---|---|
| docuforge | ドキュメントサイト風のデザイン。左側に絞り込み用のサイドバーを常に表示 |
| nomadkit | 砂色を基調にした、暖かみのある配色のデザイン |
| rawblock | 白と黒、太い罫線で構成したシンプルで力強いデザイン |
| voicebox | 白黒に赤のアクセントを効かせた雑誌風のデザイン |
| docsearch | ドキュメント検索向け。Ctrl+K(Macでは⌘K)で開く検索パレットやライト/ダークモードに対応 |
次に、特定の用途に特化したテーマです。
| テーマ名 | 特徴 |
|---|---|
| helpdesk | FAQ・サポートサイト向け。回答をその場で開いて読める |
| codesearch | ソースコード検索向け。行番号付きでコードを表示 |
| filesearch | ファイル検索向け。ファイルマネージャーのようにフォルダ単位で絞り込める |
| storefront | ECサイトの商品検索向け。検索結果を商品カードで表示 |
| semanticlens | セマンティック検索向け。どの検索方式で一致したかを結果ごとに表示 |
| mosaic | 画像検索向け。サムネイルを並べたギャラリー形式で表示 |
用途特化のテーマのうち、filesearch以外は、それぞれの用途に合わせたFessの設定やインデックスを前提としています。テーマを切り替えるだけでは本来の画面にならない場合があるため、利用する際は、各テーマのREADMEで必要な設定を確認してください。
READMEは、Fess 15.9向けの15.9.xブランチのものを参照します。既定のmainブランチのREADMEは、開発中の次のバージョン(15.10)向けの内容です。
テーマのバージョンは、15.9.10のように「対応するFessの系列(15.9)+テーマの更新番号」で表されます。Fess 15.9には、15.9で始まるバージョンのテーマを使います。更新番号は、テーマの更新に合わせて増えていくため、実際に表示されるバージョンは本記事と異なる場合があります。
今回は、「docuforge」を例に説明します。
テーマのインストール
ここでは、Fess 15.9.0が起動済みで、管理画面にログインできる状態から説明します。Fessの起動方法は、Fessのインストールガイドを参照してください。
テーマのインストールは、管理画面から行います。管理画面の左メニュー「システム」>「テーマ」をクリックすると、登録済みのテーマの一覧が表示されます。最初は、同梱の「bootstrap」だけが表示されています。
画面下部の「テーマのインストール」では、公開されているテーマをリポジトリから取得してインストールできます。
- 「名前」のプルダウンから「docuforge」を選択し、「選択」ボタンをクリックします。
- 「バージョン」のプルダウンで、インストールするバージョンを選択します。
- 「インストール」ボタンをクリックします。
「テーマをインストールしました: docuforge 15.9.10」と表示され、テーマ一覧に「docuforge」が追加されれば成功です。一覧では、テーマのサムネイル、名前、表示名、バージョンを確認できます。
デフォルトテーマの設定
インストールしただけでは、検索画面は切り替わりません。検索画面に適用するには、デフォルトテーマとして設定します。テーマ一覧の上部にある「デフォルトテーマ」のプルダウンから「DocuForge (docuforge)」を選択し、「設定」ボタンをクリックします。
「デフォルトテーマを docuforge に変更しました」と表示され、一覧の「デフォルト」列にチェックが付けば設定は完了です。設定はすぐに反映されるため、Fessを再起動する必要はありません。
そのほかのインストール方法
管理画面のほかに、次の方法でもインストールできます。
-
コマンド:ZIP版のFessでは、Fessのディレクトリで
bin/fess-setup install theme docuforgeを実行します。バージョンを指定しない場合は、利用中のFessに合った最新のテーマがインストールされます。実行後は、「テーマ」画面の「再読み込み」ボタンをクリックするか、Fessを再起動してください。 - ZIPファイルのアップロード:インターネットに接続できない環境などでは、ZIPファイルを入手して、「テーマ」画面の「アップロード」ボタンからアップロードします。
ZIPファイルは、https://maven.codelibs.org/release/org/codelibs/fess/themes/[テーマ名]/[バージョン]/[テーマ名]-[バージョン].zipで公開されています。
ダウンロードしたZIPファイルは、展開せずにそのままアップロードします。
検索結果の確認
それでは、検索画面を確認してみましょう。
ブラウザでhttp://localhost:8080/にアクセスすると、トップページがdocuforgeのデザインに切り替わっています。
検索するには、あらかじめクロールを実行してインデックスを作成しておく必要があります。 クロールがまだの場合は、管理画面の左メニュー「クローラー」>「ウェブ」>「新規作成」をクリックして、以下のように入力し、「作成」ボタンをクリックします。
| 項目名 | 設定値 |
|---|---|
| 名前 | Fess |
| URL | https://fess.codelibs.org/ja/ |
| クロール対象とするURL | https://fess.codelibs.org/ja/.* |
| 最大アクセス数 | 100 |
クロール設定の登録後、「システム」>「スケジューラ」>「Default Crawler」から「今すぐ開始」をクリックします。クロールが完了したら、検索フォームにキーワードを入力して検索します。
docuforgeの検索結果画面では、画面の左側にサイドバーが常に表示され、期間やサイズ、ファイルの種別で検索結果を絞り込めます。サジェストや並び替え、詳細検索といった検索機能は、標準の検索画面と同じように利用できます。
別のテーマに切り替える
別のテーマを試したい場合は、同じ手順でテーマをインストールし、デフォルトテーマを選び直すだけです。複数のテーマをインストールしておけば、プルダウンの選択を変えるだけで見比べられます。たとえば「rawblock」に切り替えると、同じ検索結果でも、白と黒、太い罫線を基調にしたデザインに変わります。
標準の検索画面に戻すときは、「デフォルトテーマ」のプルダウンで「(デフォルトなし)」を選択して「設定」ボタンをクリックします。同梱の「bootstrap」テーマに戻ります。
不要になったテーマは、一覧の「削除」ボタンで削除できます。ただし、デフォルトテーマに設定中のテーマには「削除」ボタンが表示されません。削除する場合は、先に別のテーマか「(デフォルトなし)」に切り替えてください。
まとめ
今回は、Fess 15.9のテーマの仕組みと、fess-themesで公開されているテーマをFessに導入して検索画面のデザインを切り替える方法を紹介しました。
テーマの導入に必要なのは、管理画面からのインストールとデフォルトテーマの設定だけです。 ファイルの編集や再起動を必要とせず、標準の画面にもすぐに戻せるため、運用中の環境でも気軽に試せます。
社内ポータルやFAQサイトなど、利用シーンに合わせて検索画面を変えたいときは、目的に近いテーマを選ぶだけで、画面を作り込む手間を大きく減らせます。 検索画面の見た目や使い勝手を見直したいときは、ぜひfess-themesをお試しください。





