対象の絞り込みでコスト減も

 旅行業大手,ジェイティービー(JTB)の大西孝明氏(eコマースカンパニー ホームページ編集室 室長)は,顧客向けWebサイトの検索エンジンを選定する際,検索範囲をきめ細かく制御できるかに注目した(図1)。

図1●検索対象範囲の設定画面
図1●検索対象範囲の設定画面
JTBが選択した「Google検索アプライアンス」は,クロールの実施対象や除外対象を正規表現できめ細かく設定できる
[画像のクリックで拡大表示]

 同社のWebサイトには,100万件を超えるデータがある。そのすべてを検索対象に加えると,製品によってはクローラがインデックスを生成しきれずに異常終了した。また,検索対象のデータ数でライセンス費用が決まる製品では,コストが高くついた。

 そこで同社の奥山浩氏(同室 アシスタントマネージャー)は,「検索対象をどこまで広げるか,あるいはどの部分は検索対象に含めないかを,きめ細かく設定できる製品を探した」。選んだのはGoogle検索アプライアンスだ(実際にはNTTコミュニケーションズが運用代行する「Google検索アプライアンス・パッケージサービス」)。

 特定の拡張子だけをインデックス対象にしたり,正規表現を使ってURL引数をインデックス対象から除外したりして,100万件超のデータから検索対象を約33万件まで絞り込んだ。装置自体は,余裕を見て50万件まで検索可能なモデルを選択した。

アクセス制御方法で表示速度に違い

 企業内や企業間で使う検索エンジンを選択する場合には,アクセス制御機能にも気を配りたい。

 検索エンジンの多くは,検索結果の一覧画面に,探し出したデータのタイトルや要約などを表示する。これにより,利用者は求めるデータを見つけ出しやすくなるのだが,これがあだとなって情報漏洩が発生しかねない。例えば,部外秘の人事評価文書が,全社で利用する検索エンジンで探し出され,他部署から要約を見られてしまう――などの事態が起こり得る。

 ほとんどの製品はアクセス制御機能を備えているが,実現方法は製品ごとに異なるので注意が必要である。

 例えば,検索対象のシステムがディレクトリ・サーバーと連携してアクセス制御する仕組みであれば,図2のような構成が採れる場合がある。このケースでは,クローラがインデックスを生成するときに,対象データのACL(Access Control List)情報を取得し,インデックスに含める。こうすると,サーチャで検索してビジュアライザで結果を表示するときに,インデックスに含まれているACLに基づいて検索結果をフィルタリングできるので結果表示が高速になる。

図2●検索エンジンのアクセス制御機能
図2●検索エンジンのアクセス制御機能
ディレクトリ・サーバーとの連携機能を搭載する製品では,クローラを使ってACL(Access Control List)付きのインデックスを生成できる場合がある。このケースでは,サーチャやビジュアライザがインデックスのACLを参照し,アクセス制御する
[画像のクリックで拡大表示]

 これに対してクローラがACL情報を取得しない製品の場合,ビジュアライザで検索結果の画面を生成する前に,検索対象のデータ一つひとつに対してアクセス権限の有無を照会しなければならない。その分だけ,結果表示が遅くなる。