エンタープライズ検索のアーキテクチャ

Microsoft Office SharePoint Server 2007 でのエンタープライズ検索 は Microsoft Office SharePoint Server 2007 共有サービスで、広範囲にわたり、拡張性のあるコンテンツ収集、インデックス処理、クエリを実行することができます。このサービスでは、構造クエリ言語 (SQL) ベースのクエリ構文を使用した全文検索がサポートされており、新しいキーワード構文を使用してキーワード検索を実行することができます。

エンタープライズ検索 は Windows SharePoint Services での検索 と同じ検索サービスを使用しています。

このトピックでは、エンタープライズ検索 の内部アーキテクチャおよび共有サービスとしての エンタープライズ検索 についての情報を説明します。

内部アーキテクチャ

以下の図は、検索サービスの内部アーキテクチャの詳細ビューを示しています。

内部検索サービスのアーキテクチャ

以下に検索サービスのアーキテクチャの構成要素を示します。

  • インデックス エンジン   コンテンツ ソースからフィルタリングしたテキストとプロパティのチャンクを処理して、コンテンツ インデックスとプロパティ ストアに格納します。

  • クエリ エンジン   コンテンツ インデックスに対してキーワードおよび SQL 構文クエリを実行して、構成データを検索します。

  • プロトコル ハンドラ   コンテンツ ソースをネイティブ プロトコルで開き、フィルタリング対象のドキュメントおよび他のアイテムを公開します。

  • IFilters   ドキュメントおよび他のコンテンツ ソース アイテムをネイティブ形式で開き、テキストおよびプロパティのチャンクにフィルタリングします。

  • コンテンツ インデックス   単語とその位置に関する情報をコンテンツ アイテムに格納します。

  • プロパティ ストア    プロパティのテーブルおよび関連値を格納します。

  • 構成データの検索   クロール構成、プロパティ スキーマ、範囲など、検索サービスで使用される情報を格納します。

  • ワードブレイカ   クエリおよびインデックス エンジンで、複数の単語や句を個別の単語またはトークンに分割するために使用します。

コンテンツ クロール

インデックス エンジンでは共有メモリのパイプを使用して、フィルタ デーモンがコンテンツ ソースのフィルタリン グを開始することを要求します。クロール処理が成功するためには、コンテンツ ソースにプロトコルを読み込むことのできる関連プロトコル ハンドラが備わっている必要があります。フィルタ デーモンは、インデックス エンジン によって指定された開始アドレスに基づいてコンテンツ ソースの適切なプロトコル ハンドラを呼び出します。フィルタ デ ーモンはプロトコル ハンドラおよび IFilters を使用して、コンテンツ ソースから個々のアイテムを抽出およびフィルタリングします。各ドキュメントに適切な IFilters が適用され、フィルタ デーモンは抽出したテキストおよびメタデータをパイプを使用してインデックス エンジンに渡します。

コンテンツ クロール プロセスのこの時点で、インデックス エンジンはドキュメント プロパティをコンテンツ インデックスとは別のプロパティ ストアに保存します。プロパティ ストアはプロパティ テーブルとその値で構成されています。このストアのプロパティを取得して並べ替えることができます。また、ストアではプロパティに対する簡易クエリも実行することができます。テーブルの各行は全文インデックスの個別ドキュメントに対応しています。コンテンツ アイテムの実際のテキストはコンテンツ インデックスに格納されるため、コンテンツ クエリに使用することができます。プロパティ ストアでは、ドキュメントのクロール時にドキュメント レベルで収集されるセキュリティも維持および実行されます。

この時点で、インデックス エンジンはワードブレイカおよびステマを使用して、クロール時に選択したテキストおよびプロパティを処理します。ワードブレイカ コンポーネントを使用してテキストを単語と句に分割し、ステミング コンポーネントを使用して所定の単語の語形変化フォームを生成します。また、インデックス エンジンではノイズ ワードを削除して、全文検索のための逆引きインデックスを作成します。

検索クエリの実行

検索クエリを実行すると、クエリ エンジンは言語固有のワードブレイカを使用してクエリを渡します。クエリ言語のワードブレイカがない場合は、ニュートラル ワードブレイカが使用されます。ニュートラル ワードブレイカは空白スタイルのワードブレイクを実行するため、単語や句の空白部分でワードブレイクが行われます。ワードブレイクの実行後、単語はステマに渡され、所定の単語の言語固有の語形変化フォームが生成されます。クロールおよびクエリの両プロセスでワードブレイカおよびステマを使用することで、ユーザーのクエリ語句により関連性の高い代替語句が生成されるため、検索効率が向上します。クエリ エンジンでプロパティ値クエリが実行されると、まずインデックスがチェックされ一致リストが取得されます。プロパティ ストアから一致するドキュメントのプロパティが読み込まれ、クエリのプロパティが再度チェックされて、一致することが確認されます。クエリ結果は一致するすべての結果リストとして、クエリ語との関連性に従って表示されます。ユーザーが一致ドキュメントに対する権限を持っていない場合、クエリ エンジンはそのドキュメントをユーザーに返すリストからフィルタリングします。

共有サービスとしての検索

共有サービスとは、他のアプリケーションによって使用される高価値アプリケーションです。Office SharePoint Server 2007 論理アーキテクチャでは、共有サービスプロバイダ (SSP) とは共有サービスおよび関連する共有リソースをグループ化したものです。SSP はファーム内の複数のポータル サイトで利用できるように、サーバー ファーム管理者によって共有サービスをホストするように作成および構成されます。その後、ファーム管理者は SSP をポータル サイトに割り当てます。ファームに複数の SSP を含めることはできますが、1 つのポータル サイトには 1 つの SSP しか関連付けることができません。SSP には特定共有サービスの 1 つのインスタンスのみを関連付けることができます。

エンタープライズ検索の管理性

SharePoint Portal Server 2003 では、各ポータル サイトに対してクロール構成とコンテンツ インデックスを別個に管理していました。エンタープライズ検索 では、これらすべてを SSP レベルで、1 つの SSP に 1 つのコンテンツ インデックスおよび 1 つのプロパティ ストアで管理します。これにより、インデックス処理の冗長性を排除し、インデックス管理などのリソース集約型オペレーションを集中管理し、エンタープライズ検索 の管理性を高めることができます。

注意

一部の検索設定は、引き続きサイト コレクション レベルで構成できます。詳細については、このトピックの「サイト レベル検索の管理性」を参照してください。

次のセクションでは、エンタープライズ検索 共有サービス (Office SharePoint Server 2007 での) の別の側面について概説します。

コンテンツ ソース

コンテンツ ソースとは、検索インデックス コンポーネントによってクロールされるコンテンツを表す開始アドレスのコレクションです。コンテンツ ソースは、クロール動作を定義する設定およびコンテンツをクロールするスケジュールも指定します。

エンタープライズ検索 には既定により複数の種類のコンテンツ ソースが用意されているため、さまざまなデータ型 (内部および外部) へのクロールを簡単に設定することができます。以下に、エンタープライズ検索 に含まれるコンテンツ ソースの種類を示します。

  • SharePoint コンテンツ

  • Web コンテンツ

  • ファイル共有コンテンツ

  • Exchange フォルダ コンテンツ

  • ビジネス データ コンテンツ

他のコンテンツ タイプを含める必要がある場合、カスタム コンテンツ ソースおよび エンタープライズ検索 のプロトコル ハンドラを作成することができます。

注意

Lotus Notes コンテンツ ソースは使用できますが、既定では構成されていません。

コンテンツ ソースの詳細については、「コンテンツ ソースの概要」を参照してください。

共有範囲

検索範囲により、その検索範囲内のアイテムの共通要素に基づいてコンテンツ アイテムをグループ化することができます。インデックスすべてを検索する代わりに、インデックス内のコンテンツのサブセットに的を絞って検索することができるため、より適切に検索を実行することができます。範囲は エンタープライズ検索 機能において重要な役割を果たし、1 つのコンテンツ インデックスからの多種多様な検索実行をサポートします。検索範囲の作成後、特定ルールに一致するコンテンツを含めるか除外するかを指定する範囲ルールを追加して、その検索範囲に含めるコンテンツを定義します。以下に基づいて範囲ルールを定義することができます。

  • アドレス

  • プロパティ クエリ

  • コンテンツ ソース

検索範囲は SSP レベルまたは個々のサイト コレクション レベルで作成および定義することができます。SSP レベルの検索範囲は共有範囲と呼ばれ、特定 SSP を使用するように構成されたすべてのサイトで利用できます。

検索範囲の詳細については、「検索範囲を使用する」を参照してください。

ドキュメント プロパティ マッピング

エンタープライズ検索 スキーマはクロール プロパティおよび管理プロパティの 2 種類のプロパティと、これらのプロパティ セット間のマッピングで構成されています。

インデックス エンジンは、コンテンツのクロール時にコンテンツ アイテムからクロール プロパティを抽出します。これらのプロパティは、使用するプロトコル ハンドラと Ifilter に基づいてさまざまなプロトコル カテゴリにグループ化されます。たとえば、ビジネス データ カタログ 内のコンテンツのクロール プロパティは、ビジネス データ カテゴリにグループ化されます。2007 Microsoft Office システム コンテンツのクロール プロパティは、Office カテゴリにグループ化されます。

管理プロパティは、検索ユーザー体験を構成するプロパティ セットです。このため、クロール プロパティ値を検索機能に含めるには、この値をドキュメント プロパティ マッピングの管理プロパティにマップする必要があります。管理プロパティは SSP レベルで作成および管理されます。詳細については、「メタデータを管理する」を参照してください。

サーバー マッピング

サーバー名マッピングはクロール設定であり、コンテンツがインデックスに含まれた後に、検索結果の表示または検索結果へのアクセス方法を上書きするように構成することができます。たとえば、コンテンツ ソースがファイル共有パスを使用して Web サイトをクロールし、その後サーバー名マッピング エントリを作成してファイル共有を Web サイトの URL にマップするように構成することができます。

関連性の組み込み

関連性設定は、アイテムの関連性ランキングの計算方法に影響します。これは検索結果リストに検索結果が表示される順序に影響します。検索結果の関連性を高めることが、このリリースでの主要課題です。エンタープライズ検索 には更新されたランキング エンジンが含まれており、特にエンタープライズ コンテンツおよび基幹業務 (LOB) アプリケーション データの検索向けに最適化されています。

更新された関連性計算には、以下が含まれています。

  • クリック ディスタンス

  • ハイパーリンク アンカー テキスト

  • URL サーフィンの深さ

  • URL テキスト一致

  • 自動メタデータ抽出

  • 自動言語検出

  • ファイルの種類関連バイアシング

  • 高度なテキスト分析

エンタープライズ検索 の関連性の詳細については、「関連性の向上」を参照してください。

ファイルの種類の組み込み

ファイルの種類組み込みリストでは、クローラがインデックスに含めるまたはインデックスから除外する必要のあるファイルの種類を指定します。詳細については、ファイルの種類のセクション (「クロール ルールとフィルタの種類を定義する」) を参照してください。

ログ収集

クエリ ログ

クエリ ログで追跡する情報は以下のとおりです。

  • 使用するクエリ用語

  • 検索クエリの検索結果が返されたかどうか

  • 検索結果から表示されたページ

この検索用途データは、ユーザーがどのように検索を使用しているか、どのような情報を求めているかを把握するのに役立ちます。このデータを使用して、ユーザーの検索体験を向上させる方法を決定することができます。

クロール ログ

クロール ログはクロール コンテンツの状態についての情報を追跡し、コンテンツ インデックス内のすべてのアイテムの現在の状態が含まれます。クロール ログのエントリを参照およびフィルタリングして、エラー、警告がないかを確認し、コンテンツがインデックスに正しく追加されたかどうかを追跡することができます。詳細については、「クロール ログの操作」を参照してください。

サイト レベル検索の管理性

ほとんどの検索体験は SSP レベルで管理されますが、以下のようにサイト レベルで利用可能なアイテムも存在します。

  • 検索範囲

  • キーワードとおすすめコンテンツ

サイト レベルでの設定により、サイト管理者は同じ SSP を使用するように設定された他のサイトの検索体験に悪影響を与えずに、検索ユーザー体験を設定することができます。

検索範囲

上述のように、検索範囲は範囲内のアイテムの共通要素に基づいてグループ化されたアイテムのコレクションです。検索範囲により、ユーザーは検索範囲を広くしたり狭めたりすることができます。SSP レベルで使用可能な検索範囲は、共有範囲と呼ばれます。検索範囲はサイト レベルでも使用できます。サイト レベルで作成された検索範囲は、検索範囲が作成されたサイトおよび最上位サイト内のサブサイトでのみ表示できます。

サイト レベルで検索範囲を管理する場合、範囲表示グループを作成および構成することができます。表示グループは、サイト上での表示方法によって検索範囲をグループ分けします。たとえば、SSP 管理者が SSP レベルで作成した共有範囲を、検索ボックス Web パーツの範囲ドロップダウン リストに表示するには、新しい共有範囲をサイトの検索ドロップダウン表示グループに追加します。この処理の詳細については、「[方法] 検索ボックスと高度な検索 Web パーツ内で検索範囲を表示する」を参照してください。

キーワードとおすすめコンテンツ

キーワードとはサイト管理者が重要であると識別した単語や句を指します。キーワードを使用することで、最初の結果ページに追加情報や推奨リンクを表示することができます。キーワードを使用しなければ、これらは特定の単語や句の検索結果に表示されません。詳細については、「キーワードの管理」を参照してください。