Fessとは

FessはSourceForge.jpで開発されるオープンソースの全文検索サーバである。Apacheライセンスで提供され、無償で利用することができる。オープンソースの全文検索エンジンにはさまざまなものがあるが、Fessの最大の特徴はインストールから起動までが簡単であり、起動後は管理画面ですばやく検索システムとして構築できることが挙げられる。

そのほかの特徴としては次のことが挙げれる。

  • OS非依存(Java実行環境があれば利用可能)
  • Webまたはファイルシステム上にあるドキュメントを検索対象にできる
  • MS OfficeやPDFなど多くのファイル形式に対応
  • 携帯端末の表示に対応 (端末ごとに検索表示を最適化)

Fessの心臓部分ともいえる検索エンジンにはApache Solrが採用されている。Apache Solrはサーバの構成次第では数億ドキュメントも検索対象とすることができる。FessではSolrサーバを自由に構成することが可能で、構成次第ではSolrの機能を活かしてハイエンドな要求にも応えられる設計になっている。また、SolrはWebクローラやエンドユーザー向けUIを持っていないが、Fessはそれらを提供することで利用者が直感的に利用できるシステムを提供している。

Fessのトップ画面

インストールと起動

Fessの実行にはJava実行環境が必要となるので事前にJava 6をインストールしておこう。Fessの配布物にはSolrや必要なデータベースも同梱されているので、それらの手間のかかるセットアップも必要なく、配布物を展開するだけですぐに利用することができる。

配布物はFessのサイトから最新のパッケージをダウンロードできる。本稿執筆時点(2009年11月)での最新バージョンは1.1.1なので、今回はそれをインストールする。

ダウンロード後、fess-server-1.1.1.zipを任意のフォルダに展開してfess-server-1.1.1\bin\startup.batを実行する。正しく起動しない場合は展開したパスにスペースが入っていないかを確認するとよい。以上の手順だけでFessは利用可能だ。

設定

まず、管理画面で検索対象とするドキュメントを指定するためにhttp://localhost:8080/fess/adminにアクセスする。管理画面は管理者アカウントでログインする必要があるので、デフォルトのユーザー名/パスワードであるadmin/adminでログインする。

ログイン後、左側のメニューの「ウェブ」を選択して、ウェブクロール設定の一覧画面を表示する。ウェブクロール設定とはウェブ上のドキュメントをクロール収集して検索対象にするための設定情報である。ファイルシステム上にあるドキュメントを検索対象としたい場合はメニューの「ファイルシステム」を選択して同様に作成することができる。「新規作成」を選択してウェブクロール設定を作成する。

ウェブクロールの設定画面

ウェブクロール設定の内容は以下の通りである。

設定名 一覧ページで表示される名前
URL クロール対象の起点となるURL。http:またはhttps:で始まるように指定する。複数指定が可能
対象/除外するURL 正規表現で対象または除外するURLを指定する。複数指定が可能
深さ 起点のURLからクロールしてドキュメント内のリンクをたどる回数
最大アクセス数 クロールして取得するドキュメント最大数
ユーザーエージェント クロール時に利用するユーザーエージェント名
スレッド数 クロールするスレッド数。5を指定した場合、5個のスレッドで同時にWebサイトをクロールする
間隔 ドキュメントをクロールする間隔(ミリ秒)。5000とした場合は1つのスレッドが 5秒間隔でドキュメントを取得する
ブラウザタイプ 検索結果の表示時のブラウザ種類。PCだけが選択されている場合はPCブラウザでアクセスしたときに検索結果が表示され、携帯端末でのアクセス時には表示されない。特定の携帯端末だけで結果を表示したい場合にも利用できる
状態 有効にすることで、設定されているクロール時刻に実行される

次に左側のメニューの「クローラ全般」を選択して、上記で設定したクロール設定が実行される時間を「スケジュール」で指定する。指定方法はクローンの記述方法に似ている。午前10:35に実行したい場合は、「0 35 10 * * ?」とする(フォーマットは「秒 分 時 日 月 曜日 年」)。「更新」ボタンを押下して保存すると、その時間にクロールが開始される。開始されているかどうかは「セッション情報」ページで確認できる。完了していると、セッション情報のWebIndexSizeに検索対象としたドキュメント数が表示される。

クローラ全般の設定画面

検索してみよう

クロール完了後、http://localhost:8080/fess/にアクセスし、検索すると検索結果が表示される。携帯端末でアクセスした場合はその端末ごとに最適化した表示になる。

PCブラウザアクセスでの検索結果表示

携帯端末アクセスでの検索結果表示

まとめ

Fessは簡単なインストールと設定だけで検索サーバを5分もかからずに構築することができるだろう。また、Solrの性能を制限することなく、対応可能なドキュメント数もスケールすることができるので、大規模サイトにも適用することが可能である。検索サーバとして十分な機能を実装しているので、社内ドキュメント検索から公開サイト検索まで幅広く利用することができる。日々情報が増え続ける今日において検索機能は有用であるので、ぜひFessを利用してみてはいかがだろうか。