codesearch.codelibs.orgの更新

ソースコード検索のcodesearch.codelibs.orgを地道に更新している感じですが、現在はスター数が多い1000レポジトリくらいを対象にしてインデックスしています。最近、ちょっとレスポンスが悪くなってきていたというのもあり、いろいろと変更を入れたりした。

まず、インデクシングするときのAnalyzerを変更してみたりした。デフォルトのまま使っていたので、englishなstemmingしてたりするのをやめて、ソースコードの検索に合うような感じにちょっと変えてみた。でも、トークンが増えそうな気もするので、もしかしたらレスポンスが落ちて再調整するかも…。

次にトップページがちょっとさみしいので、organizationやrepositoryとかも表示されるようにしたりしてみた。これをするためには、Fess自体の修正も入れたりした。なので、最新のFessではファセットをfess_config.propertiesで指定できるようになっている。

あとは細々とした修正を入れたりした感じではある。GitHubの方に手順をコメントしたので、同じものをローカルに作って試せるようになってきて入ると思う。(クリーンな状態からの構築を試していないから、実際に試すと何かしないと動かない可能性もあるけど…)

Fess 13.4.1をリリースしたら、これもバージョニングしていこうかなとも思っている。

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をダウンロード&編集してアップロードした後に、メンテナンス画面で再インデクシングをすれば、新しいインデックス設定で作成することができるようになります。

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