japan.internet.comに最新のコラムが掲載されました。
前回はサーバサイド P2P による全文検索エンジン「HyperEstraier」を紹介しました。
前回紹介した時はβ版でしたが、
先日(10月17日)にバージョン1.0が正式リリースされました。
さて今回は、HyperEstraier を利用した「mod_estraier」を紹介します。
mod_estraier は最新バージョンが 0.0.7(10月21日現在)です。
バージョン番号を見ても分かる通り、まだ始まったばかりのプロジェクトで、今後仕様が大きく変わる可能性もあります。
mod_estraier は Apache のモジュール(プラグイン)です。 mod_estraier を導入することで、 Apache がプロキシとして動作します。
各クライアントからこのプロキシを通して Web にアクセスすると、逐次、プロキシを通過した文書が HyperEstraier のインデックスに登録されます。インデックスを通過したドキュメントは、 mod_estraier の検索インターフェイスを通して検索することができるようになります。
Google 的な Web の検索では、世界中のWebコンテンツをインデックシングします。これは世界中のコンテンツを洩れることなく検索することができますが、検索結果が膨大になったり、ごみの情報が多くを占めるようになります。
mod_estraier のアプローチでは、世界中のコンテンツは検索対象にはなりません。 mod_estraier を通過したコンテンツだけが検索対象になります。グループや会社の部署単位で利用すると、その組織で必要としている情報が自然とインデックス化されていきます。
del.icio.us のようなソーシャルブックマークシステムでは、各ユーザーが明示的に「ブックマークする」行為が必要です。 mod_estraier では、明示的な作業は必要なく、普段の作業がそのままブックマークする行為につながります。
自分が必要としている情報は、自分の属している組織やグループで必要としていることが多いので、自分が得た情報から他の人が検索することで、必要な情報へアクセスしやすくなります。ユーザーへの負担がなく、通常の行為が自分や他人の利益(情報の取得のしやすさ)につながるため、とても便利です。
mod_estraier は、ベースとなる検索エンジンに HyperEstraier を使っています。つまり、 mod_estraier も HyperEstraier のひとつのノードとして動作します。これにより mod_estraier 同士を P2P 的につなぎ合わせて、大規模な検索 DB を作成したり、負荷分散できます。
ある会社に導入する場合を考えてみましょう。部署単位に mod_estraier を導入することで、部署内のユーザーが見たことのあるコンテンツは検索対象になります。
次に、部署ごとの mod_estraier のノードを P2P で接続することで、自分の部署のユーザーが見たコンテンツだけでなく、全社員が見たコンテンツも検索対象になります。これで、大規模な検索 DB が利用でき、負荷分散にもなります。
部署の中との結び付きや必要な情報は、他の部署にとってはそれほど重要でない場合があります。営業と開発の部署では、同じキーワードで検索しても必要としている情報は違ってきます。 P2P により mod_estraier 同士をつなぎ合わせて、大規模な DB を利用できるだけでは不十分です。
HyperEstraier には各ノードごとに検索結果の重み付けを変えることができます。営業のノードが開発のノードに検索を依頼した場合、この重み付けを変化させることで、検索結果の順位を変動させることができます。営業の人には、営業が必要としている情報を検索の上位に出すことができるようになります。
冒頭にも述べましたが、 mod_estraier はまだ開発が始まったばかりのプロジェクトです。荒削りのところもありますが、今後の可能性が期待され、夢が膨らむプロジェクトです。オープンソースで開発が進められているプロジェクトで、日本人が開発していますので、もし、興味を持たれたら開発に参加してみてください。(執筆:大谷弘喜)