Fess 9.0リリース

リリースしました。ここから取得できます。四半期くらいでリリースしていきたいところでしたが、今回はいろいろと大きな変更を入れたので、半年近く時間がかかってしまいました。まぁ、いろいろな案件をこなしながら、ブラッシュアップしてきている感じではありますが。大きなところをまとめておくと、

  • ジョブ管理機能

以前はクロールのスケジュールはバッチなどを組まないと複数実行できなかったのですが、Fess 9では任意のジョブを組めるようにしました。ですので、クロールのスケジュールを指定すると言うよりは実行したい処理をジョブとして管理画面から登録する感じになります(まだ、ドキュメント不足感はありますが…)。ジョブを記述する言語は現時点ではgroovyをサポートしています。いろいろな言語をサポートできる気はしていますが、将来的に必要に応じて考えていこうと思います。

  • サジェスト

今回のリリースからは独自のサジェストを搭載しています。今まではSolrの機能に依存するサジェストでしたが、あの機能では日本語環境ではあまりに厳しいものがあります。というわけで、サジェストのデータはSolrにストアするものの機能自体は独自になっています。Fess 9ではクロールしたコンテンツのデータだけを元にサジェストをしていますが、次のバージョンでは検索ログ等の情報を含めてFess側でサジェストを構築する予定です。そんな感じで、この辺は今後も磨かれていくことでしょう。

  • ファイルのプロキシダウンロード

ファイルシステムや共有フォルダをクロールすると、file:〜のリンクになりますが、近年のブラウザのセキュリティ強化により検索結果上でfile:のリンクを表示してもクリックしたところで何も反応しないため、なかなか厳しい状況にありました。以前のリリースまでは標準ではJavaアプレットによりファイルを直接開く方法を採用していましたが、それはそれで厳しい状況になってきたため、今回のリリースからはFess自体でプロキシしてコンテンツを返すことにしました。つまり、ファイルシステムや共有フォルダに対して、それらを公開するウェブサーバなどを別途立てなくてもFess単独でコンテンツを返却することができます。ロール検索についても認証情報が適用されるので、不要なコンテンツはダウンロードできないようになっています。

  • Solr 4.6.1

利用しているSolrのバージョンを更新しています。SolrCloudなどの環境でも利用しやすい感じになっています。

  • リアルタイムにクリック数とお気に入り数の反映

今まではクリック数やお気に入り数は再インデックス後に反映されていました。今回のリリースではLuceneのdocValueを利用することで再インデックスをすることなく、それらの値が更新されリアルタイムに利用することができます。

  • 辞書管理

ユーザー辞書と同義語辞書について管理画面で変更することができるようになりました。ただし、編集時に辞書情報をメモリー上にロードするため、辞書のサイズ分のメモリが編集時には必要になります(数分利用しないとメモリーは解放されます)。また、Solrの辞書の場合は辞書を更新すると再起動が必要になるかと思いますが、Fessでは再起動をすることなく、辞書情報が更新されると反映されます。ただし、形態素解析等では単語の区切り方が変わるため、再インデックスが必要になる場合があります。という感じで、辞書周り全体の機能が強化された感じですが、将来のリリースではSynonymFilterまわりの日本語問題が残っているので対応したいと考えています。

大きなところはそんな感じでしょうか。その他にもAPI周りを大きくリファクタリングしたり、SolrCloud対応とかいろいろとある感じかと。次はFess 9.1を考えていますが近いうちにリリースしたいと考えています。

コメントを残す

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