はじめに
前回の導入編では、Fessによるオープンソース全文検索サーバの構築方法を紹介しました。Fessはdocomo、auおよびSoftbankの携帯端末での検索に対応しているので、今回はその利用方法を紹介します。
本記事ではFess 2.0を利用して説明します。Fessの構築方法については導入編を参照ください。
対象読者
- 携帯端末用検索システムを構築してみたい方
- 既存の携帯サイトに検索機能を追加してみたい方
必要な環境
この記事の内容に関しては次の環境で、動作確認を行っています。
- CentOS 5.4
- JDK 1.6.0_17
Fessの携帯端末対応
全文検索システムにおいて、携帯端末で利用するためにはシステム的に次のような対応が必要になってきます。
- 携帯端末の情報を取得して、端末に適した表示をする
- クロール作成時に端末用のユーザーエージェントを指定できる
- 閲覧キャリア情報をインデックス情報に含めることができる
- 検索結果がPCサイトの場合、コンテンツ変換した内容を表示できる
Fessでは上記すべてに対応しています。まず、携帯端末の情報を取得して処理するためにmobyletを採用しています。mobyletは携帯向けWebアプリケーション構築のためのJavaオープンソースフレームワークです。mobyletを利用することでdocomo、auおよびSoftbank端末を識別して、それぞれの端末ごとに適切な結果を表示できます。
次にFessでは検索対象をクロールするときに、ユーザーエージェントをウェブクロール設定で設定できます。対象キャリアのユーザーエージェントを指定してクロールすることで、その携帯端末向けサイトを取得できます。ただし、対象の携帯サイトをIPで制限している場合は、FessサーバのIPを許可して携帯端末サイトを表示できるようにする必要があります。また、ウェブクロール設定で[ブラウザ]はデフォルトですべて選択されていますが、表示したいキャリアを選択することでそのキャリア端末だけで結果を表示することが可能になります。
検索結果がPCサイトである場合、検索結果にPCサイトのリンクが表示されても携帯端末では通常表示することができません(PCサイトビューアなどを利用すれば閲覧可能です)。Fessでは「Google Wireless Transcoder」を利用することが可能です。Google Wireless TranscoderはGoogle社により提供されるサービスで、PCサイトを各種携帯端末に合わせて変換してくれます。Fessでは簡単な設定で、検索結果をGoogle Wireless Transcoderのリンクに変換する機能を持ち、検索結果がPCサイトでもスムーズに利用することが可能です。