社内システムには,一部の関係者しか見てはいけない機密情報がある。エンタープライズ・サーチを導入することでこうした情報まで一般に公開されてしまうことは避けたい。システム構築に当たっては,検索とアクセス制御機能を連携させる仕組みが必要だ。また導入後には継続的なチューニングが重要である。

 アクセス制御も,応答性能に影響を及ぼす。前述のように,エンタープライズ・サーチではセキュリティの観点から,ユーザーの権限に合わせて結果の表示内容を変える必要がある。このためエンタープライズ・サーチ製品は,LDAPサーバーやActive Directoryといったディレクトリ・サービスを参照してユーザーの権限をチェックする仕組みを備えている。この権限と,それぞれの文書やサーバーに設定されているアクセス制御リスト(ACL)を付き合わせ,検索結果の表示内容を変える。

 重要なのは,ACLの参照のしかたによって,サーチャーにかかる負荷やエンドユーザーへの応答性能が変わることだ。方法は大別して2通りある。検索対象のサーバーにリアルタイムに問い合わせる方法と,各サーバーが持つACLをあらかじめインデックスにインポートしておく方法である(図5)。

図5●検索対象文書に対するアクセス制御の実装形態
図5●検索対象文書に対するアクセス制御の実装形態
検索結果を表示する際に,ユーザーがアクセス権を持つ文書のみを検索結果に表示する。

 リアルタイムに問い合わせる方法では,検索実行時にユーザーのアクセス権限と検索対象のACLを突き合わせ,検査結果からアクセス権限のない文書を取り除いた応答ページを作成する。最新のアクセス権を検索結果に反映できる点がメリットだが,ACLを持つサーバーへの問い合わせが多くなるため,検索結果が数千件に及ぶとエンドユーザーへの応答性能が劣化しやすい。

 ACLをインデックスにインポートする場合は,エンタープライズ・サーチのシステム内で検索処理が完結する。インデックス作成の負荷は高まるものの,「アクセス権が変わるのは,部署の異動や昇格など。1日に1回,夜間に更新すれば実用上はタイムラグはない」(アクセラテクノロジの進藤達也社長)。

 実は,どちらの方法を選ぶかは,利用する製品によって決まる場合が多い。ほとんどの製品はACLにインデックスをインポートするようになっている。ただ,中にはインデックスにACLを取り込んだうえで,一部の検索対象についてだけリアルタイムに照合する仕組みを加えられる製品もある。

ランキング・ルールのチューニングは不可欠

 もう一つ考えておかなければならないのが,検索結果のランキング方法。ユーザーが求めている情報をどれだけ的確に,かつできるだけ上位に表示するかである。ビジネスサーチテクノロジの城野洋一・代表取締役COOは,「企業で導入する場合,ランキング・ルールをチューニングする案件がほとんど」という。

 ランキングでは,複数のルールを基に個々の検索結果にスコアを付ける。どの製品もランキング・ルールを複数持ち,ユーザーはこれを組み合わせて使う。例えば「一致する単語の数が多い」「出現位置が先頭」といった一般的なテキスト解析の結果を基にスコアを算出する。さらにテキスト以外の指標として,「リンク文字列との一致」「ファイルの種類がプレゼンテーション・ファイル」といった基準を用いて最終的なスコアを合算する(図6)。

図6●検索結果の順位付け(ランキング)に使う主な情報
図6●検索結果の順位付け(ランキング)に使う主な情報
ユーザーが求める文書をできるだけ上位に表示するために,文書内容だけでなく文書に付随する情報を活用する。マイクロソフトの「Microsoft Office SharePoint Server 2007」が採用するアルゴリズムを基に作成。

 このほか,Googleで一躍有名になった「Page Rank」がある。「リンクされた数が多いほど価値のあるドキュメント」「価値のあるドキュメントからリンクされたドキュメントは価値が高い」という考えに基づいたものだ。ただ企業内でPageRankが機能するのは,文書間のリンクが張り巡らされた社内ポータルに限られる。ファイル・サーバーに格納されたファイル群のように,それぞれ孤立した文書を検索対象とする場合には適さない。

 また,ランキングの精度を上げるには,導入後のチューニングが欠かせない。ユーザーの利用状況を把握し,ランキングのルールを見直すのである。実際,「構築して1カ月ほど経つと,利用状況を踏まえたチューニングに本腰を入れ始める」(日本IBM ソフトウェア事業インフォメーション・マネジメント事業部CM営業部の中島冴香氏)という。

 ユーザーの利用状況を把握するには,例えば入力された検索キーワードの履歴を分析する(写真1)。ユーザーのニーズが高い文書が分かれば,そのスコアを高めるチューニングを施したり,全社ポータルに「有用な文書」として紹介したりすることもできる。管理不要をうたう製品であっても,ユーザーの工夫次第で検索結果の精度を上げられる。

写真1●米グーグルの「Google検索アプライアンス」の管理画面
写真1●米グーグルの「Google検索アプライアンス」の管理画面
ユーザーの利用動向や文書収集の状況などを把握できる。

 また「多数のユーザーが検索したがヒットする文書がない」キーワードを管理画面で見つけ出し,インデックス化に失敗しているのか,そもそも見合った文書が存在しないのか,といった調査を実施するのも手だ。