Fessのプレビュー機能

Fessに検索結果のプレビュー機能(スクリーンショットとかサムネイルとかとも言える)が実装されました。プレビューに必要な画像の生成は、たとえば、あるURLのサイトのプレビュー画像を生成する方法は何かしらのコマンドに任せるようにしています。別にHTML以外でもプレビュー画像を生成する方法(コマンドとか)があれば、ScreenShotGeneratorのインターフェースを実装すれば良いかと。デフォルトではCommandGeneratorを実装してあるので、diconでそれにコマンドを指定すれば良い。標準ではこの機能を無効にしているけど、fess.diconの

<component name="screenShotManager" class="jp.sf.fess.screenshot.ScreenShotManager">
<initMethod name="add">
<arg>htmlScreenShotGenerator</arg>
</initMethod>
</component>
<component name="htmlScreenShotGenerator" class="jp.sf.fess.screenshot.impl.CommandGenerator">
<property name="commandList">
{"bash",
"/opt/fess/bin/html-screenshot.sh",
"${url}",
"${outputFile}"}
</property>
<initMethod name="addCondition">
<arg>"mimetype"</arg>
<arg>"text/html"</arg>
</initMethod>
</component>

のコメントアウトを外すと使えるようになる。bin/html-screenshot.shにサンプル的にURLと出力ファイルパスを渡すと、画像を生成してくれるスクリプトを用意した。そのスクリプトの中では、wkhtmltoimage-amd64というコマンドとImageMagikのconvertを使うように記述してある。環境に応じて別途取得してください。設定が完了すれば、クロール時にwebapps/fess/WEB-INF/screenshots以下に画像が配置される。ロール検索の都合上、直接参照させることができないので、検索結果に表示されたものだけしか画像を返却をしないようにしてある。あとは、検索したときに検索結果のリンクにマウスオーバーすると右側にプレビュー画像が表示されるようになる(表示方法はリリースまでに変えるかもしれないけど…)。
という感じで、検索結果にプレビュー表示させたい時にはご利用ください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です