Share via


[方法] 検索サービス プロバイダに検索コンテキストを返す

コードを記述して Microsoft Office SharePoint Server 2007 でのエンタープライズ検索 をプログラム的に構成する場合、SearchContext クラスを エンタープライズ検索 管理オブジェクト モデルへのエントリ ポイントとして使用します。エンタープライズ検索 設定を共有サービス プロバイダ (SSP) の管理レベルで構成するには、検索サービスに対する SSP の検索コンテキストを取得する必要があります。

検索コンテキストにアクセスするには、SearchContext クラスの GetContext() メソッドを使用します。GetContext メソッドには 3 つのオーバーロードがあります。このメソッドを呼び出す場合、以下のどちらかをパラメータとして渡す必要があります。

ServerContext クラスを使用して検索コンテキストにアクセスするには

  1. Visual Studio 2005 の [プロジェクト] メニューで [参照の追加] をクリックします。

  2. [.NET] タブで以下の参照をそれぞれ選択した後、[OK] をクリックします。

    • Microsoft.Office.Server.dll

    • Microsoft.Office.Server.Search.dll

  3. コードの上部付近に以下の名前空間ディレクティブを追加します。

    using Microsoft.Office.Server;
    using Microsoft.Office.Server.Search.Administration;
    
  4. 検索コンテキストへのアクセスが必要なコードの部分に、以下を追加します。

    SearchContext srchContext = SearchContext.GetContext(ServerContext.Current);
    

SPSite クラスを使用して検索コンテキストにアクセスするには

  1. Visual Studio 2005 の [プロジェクト] メニューで [参照の追加] をクリックします。

  2. [.NET] タブで以下の参照をそれぞれ選択した後、[OK] をクリックします。

    • Microsoft.SharePoint.dll

    • Microsoft.Office.Server.Search.dll

  3. コードの上部付近に以下の名前空間ディレクティブを追加します。

    using Microsoft.SharePoint;
    using Microsoft.Office.Server.Search.Administration;
    
  4. 検索コンテキストへのアクセスが必要なコードの部分に、以下を追加します。(yourSiteName をサイト名に置き換えます)。

    SearchContext srchContext;
    using (SPSite site = new SPSite("http://yourSiteName"))
    {
         srchContext = SearchContext.GetContext(site);
    }
    

    注意

    SPSite クラスを使用するときは、メモリ使用量の問題を回避するために前の手順のコードと同じ方法を使用することをお勧めします。

    GetContext メソッドの 3 つめのオーバーロードに対しては、メソッドを呼び出す前に、検索サービスを提供している SSP のアプリケーション名を決定する必要があります。

共有サービス プロバイダ アプリケーション名を使用して検索コンテキストにアクセスするには

  1. Visual Studio 2005 の [プロジェクト] メニューで [参照の追加] をクリックします。

  2. [.NET] タブで以下の参照をそれぞれ選択した後、[OK] をクリックします。

    • Microsoft.Office.Server.dll

    • Microsoft.Office.Server.Search.dll

  3. コードの上部付近に以下の名前空間ディレクティブを追加します。

    using Microsoft.Office.Server.Search.Administration;
    
  4. 検索コンテキストへのアクセスが必要なコードの部分に、以下を追加します。 (SSP_GUID を、検索サービスをホストする SSP のアプリケーション GUID を含む文字列に置き換えます)。

    SearchContext srchContext = SearchContext.GetContext("SSP_GUID");
    

See Also

概念

エンタープライズ検索管理オブジェクト モデルを使うにあたって