[方法] 検索サービス プロバイダに検索コンテキストを返す
コードを記述して Microsoft Office SharePoint Server 2007 でのエンタープライズ検索 をプログラム的に構成する場合、SearchContext クラスを エンタープライズ検索 管理オブジェクト モデルへのエントリ ポイントとして使用します。エンタープライズ検索 設定を共有サービス プロバイダ (SSP) の管理レベルで構成するには、検索サービスに対する SSP の検索コンテキストを取得する必要があります。
検索コンテキストにアクセスするには、SearchContext クラスの GetContext() メソッドを使用します。GetContext メソッドには 3 つのオーバーロードがあります。このメソッドを呼び出す場合、以下のどちらかをパラメータとして渡す必要があります。
SSP アプリケーション名
ServerContext クラスを使用して検索コンテキストにアクセスするには
Visual Studio 2005 の [プロジェクト] メニューで [参照の追加] をクリックします。
[.NET] タブで以下の参照をそれぞれ選択した後、[OK] をクリックします。
Microsoft.Office.Server.dll
Microsoft.Office.Server.Search.dll
コードの上部付近に以下の名前空間ディレクティブを追加します。
using Microsoft.Office.Server; using Microsoft.Office.Server.Search.Administration;
検索コンテキストへのアクセスが必要なコードの部分に、以下を追加します。
SearchContext srchContext = SearchContext.GetContext(ServerContext.Current);
SPSite クラスを使用して検索コンテキストにアクセスするには
Visual Studio 2005 の [プロジェクト] メニューで [参照の追加] をクリックします。
[.NET] タブで以下の参照をそれぞれ選択した後、[OK] をクリックします。
Microsoft.SharePoint.dll
Microsoft.Office.Server.Search.dll
コードの上部付近に以下の名前空間ディレクティブを追加します。
using Microsoft.SharePoint; using Microsoft.Office.Server.Search.Administration;
検索コンテキストへのアクセスが必要なコードの部分に、以下を追加します。(yourSiteName をサイト名に置き換えます)。
SearchContext srchContext; using (SPSite site = new SPSite("http://yourSiteName")) { srchContext = SearchContext.GetContext(site); }
注意
SPSite クラスを使用するときは、メモリ使用量の問題を回避するために前の手順のコードと同じ方法を使用することをお勧めします。
GetContext メソッドの 3 つめのオーバーロードに対しては、メソッドを呼び出す前に、検索サービスを提供している SSP のアプリケーション名を決定する必要があります。
共有サービス プロバイダ アプリケーション名を使用して検索コンテキストにアクセスするには
Visual Studio 2005 の [プロジェクト] メニューで [参照の追加] をクリックします。
[.NET] タブで以下の参照をそれぞれ選択した後、[OK] をクリックします。
Microsoft.Office.Server.dll
Microsoft.Office.Server.Search.dll
コードの上部付近に以下の名前空間ディレクティブを追加します。
using Microsoft.Office.Server.Search.Administration;
検索コンテキストへのアクセスが必要なコードの部分に、以下を追加します。 (SSP_GUID を、検索サービスをホストする SSP のアプリケーション GUID を含む文字列に置き換えます)。
SearchContext srchContext = SearchContext.GetContext("SSP_GUID");