SharePoint Server 2013 で検索コンポーネントを管理する

 

適用先:SharePoint Server 2013

トピックの最終更新日:2016-12-16

概要: Windows PowerShell を使用して、検索インデックスにコンテンツがある既存の検索トポロジで検索コンポーネントを管理する方法を説明します。これらの手順を使用して、Search Service アプリケーションの検索トポロジをスケール アウトまたはスケール ダウンします。

この記事の手順と例では、SharePoint Server 2013 と Search Service アプリケーションがインストール済みで、また、検索インデックス内に、既存の検索トポロジおよびアイテムがあると想定しています。SharePoint Server 2013 と Search Service アプリケーションがインストールされたばかりで、検索インデックスにアイテムがない場合は、「SharePoint Server 2013 で既定の検索トポロジを変更する」の手順を使用してください。

この記事の手順は、以下の検索コンポーネントに適用されます。

  • 分析処理コンポーネント

  • コンテンツ処理コンポーネント

  • クロール コンポーネント

  • 検索管理コンポーネント

  • クエリ処理コンポーネント

インデックス コンポーネントを管理する手順については、「SharePoint Server 2013 でインデックス コンポーネントを管理する」を参照してください。

この記事の内容

作業を始める前に、次の前提条件を確認してください。

  • SharePoint Server 2013 がインストールされており、検索トポロジを使用する Search Service アプリケーションが作成されている。Search Service アプリケーションが正常な状態にあり、何らかの理由で一時停止していない。

  • この記事の手順を実行するユーザー アカウントがファームの管理者グループのメンバーである。

  • ターゲット検索トポロジの計画を作成済みです。「SharePoint Server 2013 でエンタープライズ検索をスケーリングする」では、企業の既存の検索トポロジを再設計するために使用するアプローチについて説明されており、検索トポロジのハードウェア要件を記載した TechNet の記事へのリンクも含まれています。 「SharePoint Server 2013 でインターネット サイトの検索をスケーリングする」では、インターネット サイトの既存の検索トポロジのスケールアウトに関するガイダンスが示されており、検索トポロジのハードウェア要件も示されています。

  • SharePoint Server 2013 が、検索コンポーネントをホストする予定のすべてのサーバー上にインストールされています。新しいアプリケーション サーバーを作成することも、既存の展開のアプリケーション サーバーを定義することもできます。サーバーはファームに追加され、ユーザーは、これらのすべてのサーバーの管理者である必要があります。

重要重要:
この記事の手順では Windows PowerShell を使用します。ファーム内の任意のサーバー上で Windows PowerShell コマンドを実行できます。しかし、複数の検索トポロジ手順を実行中の場合は、コマンド間で Windows PowerShell オブジェクト参照を共有できるように、すべての Windows PowerShell コマンドで同じ SharePoint 2013 管理シェルを使用する必要があります。

新しいサーバーに検索コンポーネントを追加する前に、サーバー上でまず Search Service インスタンスを開始する必要があります。Search Service インスタンスは、Search Service (OSearch15 と SPSearchHostController) によって使用されるすべての必要な Windows サービスを開始します。

Search Service インスタンスを開始するには
  1. この手順を実行しているユーザー アカウントが Farm Administrators グループのメンバーであることを確認します。

  2. ファーム内の 1 つのサーバーで SharePoint 2013 管理シェル を開始します。

    • Windows Server 2008 R2 の場合:

      • [スタート] メニューで、[すべてのプログラム]、[Microsoft SharePoint 2013 製品] の順にクリックし、[SharePoint 2013 管理シェル] を右クリックして、[管理者として実行] をクリックします。

    • Windows Server 2012 の場合:

      1. [スタート画面] で、[SharePoint 2013 管理シェル] を右クリックして、[管理者として実行] をクリックします。

        [SharePoint 2013 管理シェル] が [スタート] 画面に表示されない場合:

      2. [コンピューター] を右クリックして [すべてのアプリ] をクリックし、[SharePoint 2013 管理シェル] を右クリックして [管理者として実行] をクリックします。

    Windows Server 2012 の操作方法の詳細については、「Windows の一般的な管理タスクとナビゲーション」を参照してください。

  3. Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。

    $<host n> = Get-SPEnterpriseSearchServiceInstance -Identity "<Server name>"
    Start-SPEnterpriseSearchServiceInstance -Identity $<host n>
    

    ここで、

    • $<host n> は、Search Service インスタンスの PowerShell オブジェクト参照を指定します。

    • <Server name> には、インデックス コンポーネントの追加先のサーバーを指定します。入力は、12345678-90ab-cdef-1234-567890bcdefgh という形式の有効な GUID、サーバーの有効な名前 (myserver1 など)、有効な SearchServiceInstance オブジェクト インスタンスのいずれかである必要があります。

    次に例を示します。

    $hostA = Get-SPEnterpriseSearchServiceInstance -Identity "myserver1"
    $hostB = Get-SPEnterpriseSearchServiceInstance -Identity "myserver2"
    Start-SPEnterpriseSearchServiceInstance -Identity $hostA
    Start-SPEnterpriseSearchServiceInstance -Identity $hostB 
    
    

    検索コンポーネントを追加するとき、ターゲット サーバーを指定するには、参照 ($<host n>) を使用します。

  4. すべての Search Service インスタンスが実行中になるまで待ちます。Search Service インスタンスのそれぞれで、Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。コマンドが状態 Online を戻すまで続けます。

    Get-SPEnterpriseSearchServiceInstance -Identity $<host n>
    
    

    次に例を示します。

    Get-SPEnterpriseSearchServiceInstance -Identity $hostA
    TypeName    : SharePoint Server Search
    Description : Index content and serve search queries
    Id          : 82ce8815-ecbd-4cf3-a98e-33f20bd86039
    Server      : SPServer Name=myserver1.example.com
    Service     : SearchService Name=OSearch15
    Role        : None
    Status      : Online
    
    

Search Service アプリケーションのアクティブな検索トポロジを表示するには、Windows PowerShell を使用する必要があります。

アクティブな検索トポロジを表示するには
  1. この手順を実行しているユーザー アカウントが Farm Administrators グループのメンバーであることを確認します。

  2. SharePoint 2013 管理シェルを開始します。再利用可能な Windows PowerShell オブジェクト参照を作成した SharePoint 2013 管理シェルを既に開いている場合は、代わりに、その開いているシェルを使用します。

    • Windows Server 2008 R2 の場合:

      • [スタート] メニューで、[すべてのプログラム]、[Microsoft SharePoint 2013 製品] の順にクリックし、[SharePoint 2013 管理シェル] を右クリックして、[管理者として実行] をクリックします。

    • Windows Server 2012 の場合:

      1. [スタート画面] で、[SharePoint 2013 管理シェル] を右クリックして、[管理者として実行] をクリックします。

        [SharePoint 2013 管理シェル] が [スタート] 画面に表示されない場合:

      2. [コンピューター] を右クリックして [すべてのアプリ] をクリックし、[SharePoint 2013 管理シェル] を右クリックして [管理者として実行] をクリックします。

    Windows Server 2012 の操作方法の詳細については、「Windows の一般的な管理タスクとナビゲーション」を参照してください。

  3. Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。

    $ssa = Get-SPEnterpriseSearchServiceApplication
    $active = Get-SPEnterpriseSearchTopology -Active -SearchApplication $ssa 
    $active
    

このコマンドにより、アクティブなトポロジに関する情報が返されます。たとえば、次のように表示されます。

TopologyId     : 2d7bb046-1ad4-43a9-9984-754c4551a3ec
CreationDate   : 1/25/2012 3:06:00 AM
State          : Active
ComponentCount : 6

アクティブな検索トポロジ内の検索コンポーネントのリストをプロパティと共に表示するには、Windows PowerShell を使用します。検索コンポーネントプロパティの 1 つは、検索コンポーネント ID です。検索コンポーネント ID は、検索コンポーネントを削除する場合にのみ必要です。

すべての検索コンポーネントのリストを表示するには
  1. この手順を実行しているユーザー アカウントが Farm Administrators グループのメンバーであることを確認します。

  2. SharePoint 2013 管理シェルを開始します。再利用可能な Windows PowerShell オブジェクト参照を作成した SharePoint 2013 管理シェルを既に開いている場合は、代わりに、その開いているシェルを使用します。

    • Windows Server 2008 R2 の場合:

      • [スタート] メニューで、[すべてのプログラム]、[Microsoft SharePoint 2013 製品] の順にクリックし、[SharePoint 2013 管理シェル] を右クリックして、[管理者として実行] をクリックします。

    • Windows Server 2012 の場合:

      1. [スタート画面] で、[SharePoint 2013 管理シェル] を右クリックして、[管理者として実行] をクリックします。

        [SharePoint 2013 管理シェル] が [スタート] 画面に表示されない場合:

      2. [コンピューター] を右クリックして [すべてのアプリ] をクリックし、[SharePoint 2013 管理シェル] を右クリックして [管理者として実行] をクリックします。

    Windows Server 2012 の操作方法の詳細については、「Windows の一般的な管理タスクとナビゲーション」を参照してください。

  3. Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。

    $ssa = Get-SPEnterpriseSearchServiceApplication
    $active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active
    Get-SPEnterpriseSearchComponent -SearchTopology $active
    

    コマンドは、アクティブな検索トポロジ内の検索コンポーネントのリストとそれらのプロパティを戻します。

検索インデックスにアイテムを持つ検索インストール内の検索トポロジに変更を行うには、まず新しいトポロジ オブジェクトを作成する必要があります。この新しいトポロジ オブジェクト、つまりアクティブなトポロジの複製を変更するには、検索コンポーネントを追加または削除します。複製トポロジ オブジェクトに変更を行った後で、その複製をアクティブなトポロジにします。

アクティブなトポロジを複製するには
  1. この手順を実行しているユーザー アカウントが Farm Administrators グループのメンバーであることを確認します。

  2. SharePoint 2013 管理シェルを開始します。再利用可能な Windows PowerShell オブジェクト参照を作成した SharePoint 2013 管理シェルを既に開いている場合は、代わりに、その開いているシェルを使用します。

    • Windows Server 2008 R2 の場合:

      • [スタート] メニューで、[すべてのプログラム]、[Microsoft SharePoint 2013 製品] の順にクリックし、[SharePoint 2013 管理シェル] を右クリックして、[管理者として実行] をクリックします。

    • Windows Server 2012 の場合:

      1. [スタート画面] で、[SharePoint 2013 管理シェル] を右クリックして、[管理者として実行] をクリックします。

        [SharePoint 2013 管理シェル] が [スタート] 画面に表示されない場合:

      2. [コンピューター] を右クリックして [すべてのアプリ] をクリックし、[SharePoint 2013 管理シェル] を右クリックして [管理者として実行] をクリックします。

    Windows Server 2012 の操作方法の詳細については、「Windows の一般的な管理タスクとナビゲーション」を参照してください。

  3. Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。

    $ssa = Get-SPEnterpriseSearchServiceApplication
    $active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active
    $clone = New-SPEnterpriseSearchTopology -SearchApplication $ssa -Clone -SearchTopology $active
    

    検索コンポーネントを追加または削除し、検索トポロジをアクティブ化する目的で、同じ SharePoint 2013 管理シェルを引き続き使用する場合、コマンドは、$clone で参照できる複製検索トポロジを作成します。

  4. (省略可) 検索トポロジから検索コンポーネントを削除する場合、検索コンポーネント ID を取得する必要があります。Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。

    Get-SPEnterpriseSearchComponent -SearchTopology $clone
    

    コマンドは、複製された検索トポロジ内の検索コンポーネントのリストとそれらのプロパティ (検索コンポーネント ID を含む) を戻します。

アクティブな検索トポロジは、直接、変更できません。この手順では、「アクティブな検索トポロジを複製する」で示した複製トポロジ オブジェクトを作成したと想定します。各検索コンポーネントについて、以下の Windows PowerShell コマンドレットを使用できます。

  • New-SPEnterpriseSearchAdminComponent

  • New-SPEnterpriseSearchAnalyticsProcessingComponent

  • New-SPEnterpriseSearchContentProcessingComponent

  • New-SPEnterpriseSearchCrawlComponent

  • New-SPEnterpriseSearchQueryProcessingComponent

メモメモ:
インデックス コンポーネントを追加する手順は異なります。詳細については、「SharePoint Server 2013 でインデックス コンポーネントを管理する」を参照してください。
検索コンポーネントを追加するには
  1. この手順を実行しているユーザー アカウントが Farm Administrators グループのメンバーであることを確認します。

  2. SharePoint 2013 管理シェルを開始します。再利用可能な Windows PowerShell オブジェクト参照を作成した SharePoint 2013 管理シェルを既に開いている場合は、代わりに、その開いているシェルを使用します。

    • Windows Server 2008 R2 の場合:

      • [スタート] メニューで、[すべてのプログラム]、[Microsoft SharePoint 2013 製品] の順にクリックし、[SharePoint 2013 管理シェル] を右クリックして、[管理者として実行] をクリックします。

    • Windows Server 2012 の場合:

      1. [スタート画面] で、[SharePoint 2013 管理シェル] を右クリックして、[管理者として実行] をクリックします。

        [SharePoint 2013 管理シェル] が [スタート] 画面に表示されない場合:

      2. [コンピューター] を右クリックして [すべてのアプリ] をクリックし、[SharePoint 2013 管理シェル] を右クリックして [管理者として実行] をクリックします。

    Windows Server 2012 の操作方法の詳細については、「Windows の一般的な管理タスクとナビゲーション」を参照してください。

  3. Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。

    New-SPEnterpriseSearch<SearchComponent> -SearchTopology $clone -SearchServiceInstance $<host n>
    

    ここで、

    たとえば、以下のコマンドは、Search Service インスタンス参照 $hostA によって識別されたサーバー上の複製トポロジに、コンテンツ処理コンポーネントを追加します。

    New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $clone -SearchServiceInstance $hostA
    
  4. 新しい検索コンポーネントが複製トポロジに追加されたことを確認します。Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。

    Get-SPEnterpriseSearchComponent -SearchTopology $clone
    

検索コンポーネントを削除するには、Windows PowerShell を使用する必要があります。アクティブな検索トポロジは、直接、変更できません。この手順では、「アクティブな検索トポロジを複製する」で示した複製トポロジ オブジェクトを作成したと想定します。

メモメモ:
インデックス コンポーネントを削除する手順は異なります。詳細については、「SharePoint Server 2013 でインデックス コンポーネントを管理する」を参照してください。
検索コンポーネントを削除するには
  1. この手順を実行しているユーザー アカウントが Farm Administrators グループのメンバーであることを確認します。

  2. SharePoint 2013 管理シェルを開始します。再利用可能な Windows PowerShell オブジェクト参照を作成した SharePoint 2013 管理シェルを既に開いている場合は、代わりに、その開いているシェルを使用します。

    • Windows Server 2008 R2 の場合:

      • [スタート] メニューで、[すべてのプログラム]、[Microsoft SharePoint 2013 製品] の順にクリックし、[SharePoint 2013 管理シェル] を右クリックして、[管理者として実行] をクリックします。

    • Windows Server 2012 の場合:

      1. [スタート画面] で、[SharePoint 2013 管理シェル] を右クリックして、[管理者として実行] をクリックします。

        [SharePoint 2013 管理シェル] が [スタート] 画面に表示されない場合:

      2. [コンピューター] を右クリックして [すべてのアプリ] をクリックし、[SharePoint 2013 管理シェル] を右クリックして [管理者として実行] をクリックします。

    Windows Server 2012 の操作方法の詳細については、「Windows の一般的な管理タスクとナビゲーション」を参照してください。

  3. 最新のアクティブなトポロジが正常であり、削除しようとしている検索コンポーネントが Active であることを確認してください。サーバーの全体管理の [検索管理] ページで検索トポロジの状態を表示するか、Windows PowerShell コマンドレット Get-SPEnterpriseSearchStatus を実行します。

  4. Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。

    Remove-SPEnterpriseSearchComponent -Identity <Search component id> -SearchTopology $clone
    

    ここで、

  5. 確認を求めるメッセージが表示されたら、その検索コンポーネントを削除することを確認します。

サーバー間で検索コンポーネントを移動する場合、古い検索コンポーネントを削除する前に、検索トポロジに新しい検索コンポーネントを追加することを推奨します。

検索コンポーネントを移動するには
  1. アクティブな検索トポロジを複製します。「アクティブな検索トポロジを複製する」を参照してください。

  2. 検索コンポーネントを最終的にホストするサーバーに、新しい検索コンポーネントを追加します。「検索コンポーネントを追加する」を参照してください。

  3. 検索トポロジをアクティブ化します。このトポロジには、1 つの余分な検索コンポーネントがあります。「検索トポロジをアクティブ化する」を参照してください。

  4. 最新のアクティブなトポロジが正常であることを確認してください。サーバーの全体管理の [検索管理] ページで検索トポロジの状態を表示するか、Windows PowerShell コマンドレット Get-SPEnterpriseSearchStatus を実行します。

  5. 検索トポロジを、再度、複製します。「アクティブな検索トポロジを複製する」を参照してください。

  6. 余分な検索コンポーネントを削除します。「検索コンポーネントを削除する」を参照してください。

  7. 検索トポロジを、再度、アクティブ化します。「検索トポロジをアクティブ化する」を参照してください。

検索トポロジをアクティブ化するには、Windows PowerShell を使用する必要があります。

検索トポロジをアクティブ化するには
  1. この手順を実行しているユーザー アカウントが Farm Administrators グループのメンバーであることを確認します。

  2. SharePoint 2013 管理シェルを開始します。再利用可能な Windows PowerShell オブジェクト参照を作成した SharePoint 2013 管理シェルを既に開いている場合は、代わりに、その開いているシェルを使用します。

    • Windows Server 2008 R2 の場合:

      • [スタート] メニューで、[すべてのプログラム]、[Microsoft SharePoint 2013 製品] の順にクリックし、[SharePoint 2013 管理シェル] を右クリックして、[管理者として実行] をクリックします。

    • Windows Server 2012 の場合:

      1. [スタート画面] で、[SharePoint 2013 管理シェル] を右クリックして、[管理者として実行] をクリックします。

        [SharePoint 2013 管理シェル] が [スタート] 画面に表示されない場合:

      2. [コンピューター] を右クリックして [すべてのアプリ] をクリックし、[SharePoint 2013 管理シェル] を右クリックして [管理者として実行] をクリックします。

    Windows Server 2012 の操作方法の詳細については、「Windows の一般的な管理タスクとナビゲーション」を参照してください。

  3. Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。

    Set-SPEnterpriseSearchTopology -Identity $clone
    

    ここで、

  4. 新しいトポロジがアクティブであることを確認します。Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。

    Get-SPEnterpriseSearchTopology -Active -SearchApplication $ssa
    

    このコマンドにより、アクティブなトポロジと非アクティブなトポロジの概要が返されます。たとえば、次のように表示されます。

    TopologyId     : fce8507d-61c6-4498-8038-4fd2d0a62c6e
    CreationDate   : 1/30/2012 2:52:00 AM
    State          : Inactive
    ComponentCount : 6
    
    TopologyId     : b63d48b2-df5c-41be-a7f4-9abaee483611
    CreationDate   : 1/30/2012 4:30:00 AM
    State          : Active
    ComponentCount : 7
    

    アクティブなトポロジのコンポーネント カウントに変更が反映されるのを確認できます。

表示: