Windows SharePoint Services の検索アーキテクチャ
以前の Windows SharePoint Services では Microsoft SQL Server フルテキスト検索機能を採用していましたが、Windows SharePoint Services 3.0 では Microsoft Office SharePoint Server 2007 でのエンタープライズ検索 で使用されるのと同じ SharePoint 検索テクノロジを使用します。
Windows SharePoint Services での検索 は単一サイト コレクションに対応し、自動的に現在のコンテキストが対象範囲となります。また、対象範囲はサイト、サブサイト、リストまたはライブラリ、フォルダに限定されます。サブサイトを検索する場合、サイト コレクション全体を検索することはできませんが、現在のサイトのすべてのサブサイトを検索できます。
クロールできるのはサイト コレクション内の SharePoint コンテンツのみです。データベース、メール サーバー、アプリケーション サーバー、またはサイト コレクションの外部の Web サイトおよびファイル共有のクロールを 検索 に構成することはできません。複数のサイト コレクションを使用した展開の場合、各サイト コレクションにはそれぞれのサイト コレクション上のコンテンツ専用の 検索 が用意され、サイト コレクション間の検索結果がまとめて提示されることはありません。
Windows SharePoint Services 3.0 検索サービスは Microsoft Office SharePoint Server 2007 に組み込まれたヘルプ システムの検索を有効にする場合にも使われます。
コンテンツ クロール
検索 の多くの機能はインストール時に自動的に構成されます。
すべてのユーザー コンテンツ Web アプリケーションに対して 1 つのコンテンツ ソースが自動的に作成されます。管理の詳細はサイト管理者に公開されません。新しいサイトを作成すると、サイトの URL がコンテンツ ソースの開始アドレスに追加されます。
全体管理の Web アプリケーションに対して 1 つのコンテンツ ソースが自動的に作成されます。
全体管理の構成ページで管理者が制御するクロール スケジュールの指定に従って全体クロールが行われます。
インデックス エンジンでは共有メモリのパイプを使用して、フィルタ デーモンがコンテンツ ソースのフィルタリン グを開始することを要求します。 フィルタ デ ーモンは Windows SharePoint Services 3.0 プロトコル ハンドラおよび適切な IFilters を使用して、サイトから個々のアイテムを抽出およびフィルタリングします。各ドキュメントに適切な IFilters が適用され、フィルタ デーモンは抽出したテキストおよびメタデータをパイプを使用してインデックス エンジンに渡します。
コンテンツ クロール プロセスのこの時点で、インデックス エンジンはドキュメント プロパティをコンテンツ インデックスとは別のプロパティ ストアに保存します。プロパティ ストアはプロパティ テーブルとその値で構成されています。このストアのプロパティを取得して並べ替えることができます。また、ストアではプロパティに対する簡易クエリも実行することができます。テーブルの各行は全文インデックスの個別ドキュメントに対応しています。コンテンツ アイテムの実際のテキストはコンテンツ インデックスに格納されるため、コンテンツ クエリに使用することができます。プロパティ ストアでは、ドキュメントのクロール時にドキュメント レベルで収集されるセキュリティも維持および実行されます。
この時点で、インデックス エンジンはワードブレイカを使用して、クロール時に選択したテキストおよびプロパティを処理します。ワードブレイカ コンポーネントを使用してテキストを単語と句に分割します。また、インデックス エンジンではノイズ ワードを削除して、フルテキスト検索のための逆引きインデックスを作成します。
検索クエリの実行
検索クエリを実行すると、クエリ エンジンは言語固有のワードブレイカを使用してクエリを渡します。クエリ言語のワードブレイカがない場合は、ニュートラル ワードブレイカが使用されます。ニュートラル ワードブレイカは空白スタイルのワードブレイクを実行するため、単語や句の空白部分でワードブレイクが行われます。
ワードブレイクの実行後、結果はステマに渡され、所定の単語の言語固有の語形変化フォームが生成されます。クロールおよびクエリの両プロセスでワードブレイカおよびステマを使用することで、ユーザーのクエリ語句により関連性の高い代替語句が生成されるため、検索効率が向上します。クエリ エンジンでプロパティ値クエリが実行されると、まずインデックスがチェックされ一致リストが取得されます。
プロパティ ストアから一致するドキュメントのプロパティが読み込まれ、クエリのプロパティが再度チェックされて、一致することが確認されます。クエリ結果は一致するすべての結果リストとして、クエリ語との関連性に従った順序で表示されます。ユーザーが一致ドキュメントに対するアクセス許可を持っていない場合、クエリ エンジンはそのドキュメントをユーザーに返すリストからフィルタリングします。
Windows SharePoint Services 検索をカスタマイズする
クエリ オブジェクト モデル
Windows SharePoint Services 3.0 には、Windows SharePoint Services での検索 サービスに対してクエリを実行するカスタムの検索 Web パーツおよび検索アプリケーションで使用できる Microsoft.SharePoint.Search.Query オブジェクト モデルが用意されています。詳細については、「Windows SharePoint Services 検索クエリ オブジェクト モデル」を参照してください。
クエリ Web サービス
Windows SharePoint Services 3.0 の検索機能は Web サービスを介して提供されます。 これにより、SharePoint サイトのコンテンツ以外のクライアント アプリケーションや Web アプリケーションから 検索 の結果にアクセスできます。
検索Query Web サービスおよびそのメソッドにアクセスするには、次の Web 参照を設定します。
https://Server_Name/[Site_Name/]_vti_bin/spsearch.asmx
詳細については、「Windows SharePoint Services クエリ Web サービス」を参照してください。
クエリ構文
Windows SharePoint Services での検索 には、検索クエリを作成するために以下の 3 種類の検索構文が用意されています。
Windows SharePoint Services 検索のキーワード構文 (検索用語を直接 検索 サービスに渡す)
Windows SharePoint Services 検索 SQL 構文 (データベースに対するクエリ用 SQL 構文の拡張)
Windows SharePoint Services 検索 URL 構文 (検索パラメータを URL で囲み、検索ページに直接ポストする)
See Also
概念
Windows SharePoint Services 検索クエリ オブジェクト モデル