FessでもMoreLikeThis機能を利用できるようにしました。MoreLikeThis機能は検索結果に表示されたドキュメントに関連するドキュメントを表示できるようになります。指定方法的には
http://localhost:8080/fess/json?query=fess&sort=&num=1&mlt.field=content_ja&mlt.count=10
という感じでやると検索結果のドキュメントに関して、関連するドキュメントリストも返すようになります。mlt.fieldが関連性を評価したいフィールド名で、mlt.countが表示件数です。というわけで、FessでMoreLikeThisも検索結果と同時に取得できるようになりました。
カテゴリー: CodeLibs
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以下に画像が配置される。ロール検索の都合上、直接参照させることができないので、検索結果に表示されたものだけしか画像を返却をしないようにしてある。あとは、検索したときに検索結果のリンクにマウスオーバーすると右側にプレビュー画像が表示されるようになる(表示方法はリリースまでに変えるかもしれないけど…)。
という感じで、検索結果にプレビュー表示させたい時にはご利用ください。
Fess 7.0.1のリリース
差分クロールとロールベース検索まわりで不具合があったので、修正版として7.0.1をリリースしました。こちらからダウンロードすることができます。7.1系では管理機能をAPI化できればよいかなっと考えています。という感じで、引き続きよろしくお願いします。