連載
» 2008年02月13日 00時00分 公開

SharePoint Server 2007によるポータルサイト構築:第5回 検索機能とMOSSの導入 (3/4)

[黒石高広,株式会社アークウェイ]

 

 MOSSでは検索範囲という機能を利用し、作成されたインデックスに対して検索対象の絞り込みが行える。これは下図で示すようにクロールで作成したインデックス情報を検索範囲で指定された条件であらかじめグループ化しておくことで、ポータル・サイト利用者が検索時に検索範囲を指定できるようになり、より効率的な検索を実行できる。

検索範囲のイメージ図
検索範囲で指定された条件で検索対象を絞り込むことができる。

 検索範囲を設定するには、共有サービス管理画面と各サイト・コレクション管理画面の2段階の設定が必要となる。また検索範囲の条件には、コンテンツ・ソースとプロパティ、Webアドレスを指定することができ、複数の条件を組み合わせた複雑な範囲を指定することも可能である。

共有サービス管理画面での検索範囲の定義
サイト管理者があらかじめ条件を指定し検索範囲を定義する。検索の対象範囲は、[範囲設定の変更]リンクで行う。

サイト・コレクション管理画面での検索範囲の設定
サイト・コレクション単位で、どの検索範囲を使用するか指定することができる。[新しい範囲]リンク((1))をクリックすることで、検索範囲を追加することも可能だ。

 これら検索範囲の設定を行うことで、特定の部署のコンテンツだけを検索したり、ファイル・サーバ上のコンテンツだけを検索したりといったように、ある程度の範囲で事前に検索対象を絞り込むことで、効率的な検索ができるようになる。では、ポータル・サイトの画面上からの検索機能を見てみよう。

検索画面
サイト・コレクションで有効にした検索範囲をドロップダウン・リストから選択し、検索キーワードを入力することで検索を実行できる。

 検索を実行すると検索結果画面が表示される。

検索結果のデフォルト画面
この検索結果画面もWebパーツの組み合わせによって実現されているので、各Webパーツの設定を変更することでカスタマイズ可能である。

 以上がMOSS検索機能の設定方法と簡単な利用方法である。次に検索エンジンのアーキテクチャを確認し、どのような仕組みで検索エンジンが構成され、どのようにカスタマイズできるか確認しよう。

検索エンジンのアーキテクチャ図

 MOSS検索エンジンは上記のように大きくクエリ・エンジンとインデックス・エンジンから構成されている。検索機能の設定画面がかかわるのがインデックス・エンジンの設定であり、前述のコンテンツ・ソースの設定やクロールの設定、検索範囲などの設定を行うことでインデックス生成のプロセスを決定する。

 インデックス・エンジンによって作成されたインデックスはファイルとして保存され、中規模ファーム構成(例えば、Webフロントエンド2台×インデックス1台×データベース2台構成)などのクエリ・エンジンとインデックス・エンジンが分離された環境では、そのインデックス・ファイルはクエリ・エンジンが稼働しているマシンにコピーされ検索機能を利用できるようになる。

 また、インデックス・エンジンが内部で利用するプロトコル・ハンドラとIFilterは拡張可能なコンポーネントとして非常に重要である。プロトコル・ハンドラは、コンテンツ・ソースへ接続する際のプロトコル制御を行うコンポーネントであり、このプロトコル・ハンドラを開発することによりMOSS標準ではサポートされない外部リソースに対してインデックス作成ができるようになる。プロトコル・ハンドラに関しては下記URLを参考にしていただきたい。

 またIFilterは、コンテンツ・ソース内のネイティブ・ファイルの形式に応じてプロパティ情報とテキスト情報を読み取り、インデックス・エンジンに渡すためのコンポーネントである。例えば、PDFファイルや一太郎ファイルなどMOSSのインデックス・エンジンが標準では利用できないファイルでも、それらに対応するIFilter をインストールすれば利用可能になる。このIFilterはマイクロソフト技術で標準化されたインターフェイスを持つコンポーネントであり、Windowsデスクトップ・エンジンなどの検索エンジンと同じコンポーネントを使用することができる。IFilterの開発やよく利用されるIFilterに関しては下記URLを参考にしてほしい。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。