Code Search for Fess

Fessをソースコードの検索に利用している話もよく聞くのだが、Fessは一般的な全文検索向けに作っているので、ソースコード検索観点だとちょっと物足りない部分も出てくる。というわけで、ソースコード検索に特化した設定にするにはどうするのが良いだろうか?ということで、codesearch.codelibs.orgを作りはじめた。

まだ、しばらくはcodesearch.codelibs.orgの改善ベースで進めていくと思うので、これを各開発サイトに導入とかは難しいのだが、このサイト自体の開発のコードはdocker-codesearchでオープンなので、落ち着いてくればDockerで簡単に立ち上げて利用できるようになるはず…。

という感じで、必要な変更自体も Fessにいろいろと入れ始めているが、Tikaのmimetype判定がおかしい部分があったり、ファセットまわりの性能問題や汎用化など、細々とした課題があるので、地道に修正が必要そうではある。

Fess 13.3.1のリリース

Fess 13.3.1をリリースしました。いつもはリビジョンアップデート的なリリースには機能追加をしないのですが、今回は入れました。

まず、プラグイン管理画面ですが、テーマと普通のJARファイルを扱えるようになりました。テーマはfess-theme-*というjarファイルだとテーマとして処理されます。作りは単純なので、fess-theme-simpleとかみれば独自の検索画面を作ることもできると思います。あとは普通のJARファイルは、たとえば、DBをクロールしようとしたときにはJDBCドライバが必要になりますが、それを管理画面から配置できるようになりました。

あとは、バックアップ画面でfess.jsonとdoc.jsonをダウンロードとアップロードができるようになっています。なので、インデックスにフィールドの追加とかしたい場合は、doc.jsonをダウンロード&編集してアップロードした後に、メンテナンス画面で再インデクシングをすれば、新しいインデックス設定で作成することができるようになります。

今後も必要な変更や改善を加えていこうと思いますが、汎用的な機能追加があればお知らせください。(急ぎや汎用的でないものは商用サポートでのカスタマイズ開発対応になると思いますが…)

Fessのテーマ機能

次のリリースではプラグイン画面からテーマを追加することができるようになります。テーマ機能というのは検索画面を切り替える機能になります。とりあえず、現時点では、fess-theme-simpleだけになりますが、管理画面のプラグインからインストールすることで、使えるようになります。インストールしただけでは使えないので、仮想ホスト機能を使う必要があります。

たとえば、localhost:8080でアクセスしたときにfess-theme-simpleを使う場合は、まず、全般の設定で仮想ホストに

Host:localhost:8080=simple

を指定します。あとは、クロール設定の仮想ホストにsimpleを指定すれば、localhost:8080でアクセスしたときにsimpleテーマのデザインに切り替わります。

独自のテーマを作りたい場合は、fess-theme-simpleをコピーして、fess-theme-…にして、Maven Centralに置くとインストールできるようになります。管理画面からjarファイルをアップロードできるようにするかもしれません…。ファイル自体はsrc/main/resources以下に配置すればOKです。配置されたときの画像の実際のパスは、images/[theme]/name.jpgのようにテーマ名が挿入されるので注意が必要です。

という感じで、今後はテーマを増やしていければとも考えています。