SharePoint Server で検索コンポーネントを管理するManage search components in SharePoint Server

概要: Windows PowerShell を使用して、SharePoint Server 検索インデックスにコンテンツがある既存の検索トポロジで検索コンポーネントを管理する方法を説明します。これらの手順を使用して、Search Service アプリケーションの検索トポロジをスケール アウトまたはスケール ダウンします。Summary: Learn how to use Windows PowerShell to manage search components in an existing search topology that has content in the SharePoint Server search index. Use these procedures to scale out or scale down the search topology of the Search service application.

この記事の手順と例では、SharePoint ServerSharePoint Server 2016 と Search Service アプリケーションがインストール済みで、また、SharePoint Server 検索インデックス内に、既存の検索トポロジおよびアイテムがあると想定しています。SharePoint Server と Search Service アプリケーションがインストールされたばかりで、SharePoint Server 検索インデックスにアイテムがない場合は、「SharePoint Server で既定の検索トポロジを変更する」の手順を使用してください。The procedures and the examples in this article assume that SharePoint ServerSharePoint Server 2016 and the Search service application are installed, and that there is an existing search topology and items in the SharePoint Server search index. If SharePoint Server and the Search service application are newly installed and there are no items in the SharePoint Server search index, follow the procedures in Change the default search topology in SharePoint Server.

この記事の手順は、以下の検索コンポーネントに適用されます。The procedures in this article apply to the following search components:

  • 分析処理コンポーネントAnalytics processing component

  • コンテンツ処理コンポーネントContent processing component

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

  • 検索管理コンポーネントSearch administration component

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

インデックス コンポーネントを管理する手順については、「SharePoint Server でインデックス コンポーネントを管理する」を参照してください。For information about procedures to manage the index component, see Manage the index component in SharePoint Server.

始める前にBefore you begin

作業を始める前に、次の前提条件を確認してください。Before you begin, review the following prerequisites.

  • SharePoint Server がインストールされており、検索トポロジを使用する Search Service アプリケーションが作成されている。Search Service アプリケーションが正常な状態にあり、何らかの理由で一時停止していない。SharePoint Server is installed and a Search service application with a search topology is created. The Search service application is in a healthy state and is not paused for any reason.

  • この記事の手順を実行するユーザー アカウントが Farm Administrators グループのメンバーである。The user account that is performing the procedures in this article is a member of the Farm Administrators group.

  • ターゲット検索トポロジの計画を作成済みです。You have planned a target search topology.

  • SharePoint Server が、検索コンポーネントをホストする予定のすべてのサーバー上にインストールされています。サーバーはファームに追加され、ユーザーはこれらのすべてのサーバーの管理者である必要があります。新しいアプリケーション サーバーを作成することも、既存の展開のアプリケーション サーバーを定義することもできます。SharePoint Server is installed on all the servers that you want to host search components on. The servers have been added to the farm and you are an administrator on all these servers. You can create new application servers or define application servers in an existing deployment.

重要

この記事の手順では Microsoft PowerShell を使用します。ファーム内の任意のサーバー上で Microsoft PowerShell コマンドを実行できます。しかし、複数の検索トポロジ手順を実行中の場合は、コマンド間で Microsoft PowerShell オブジェクト参照を共有できるように、すべての Microsoft PowerShell コマンドで同じ SharePoint 2016 管理シェルを使用する必要があります。The procedures in this article use Microsoft PowerShell. You can run the Microsoft PowerShell commands on any server in the farm. However, if you are performing multiple search topology procedures you should use the same SharePoint 2016 Management Shell for all Microsoft PowerShell commands so that you can share Microsoft PowerShell object references between commands.

サーバー上で Search Service インスタンスを起動するStart a search service instance on a server

新しいサーバーに検索コンポーネントを追加する前に、サーバー上でまず Search Service インスタンスを開始する必要があります。Search Service インスタンスは、Search Service (OSearch16 と SPSearchHostController) によって使用されるすべての必要な Windows サービスを開始します。Before you add search components to a new server, you must first start a search service instance on the server. The search service instance starts all the necessary Windows services that are used by the search service (OSearch16 and SPSearchHostController).

Search Service インスタンスを開始するにはTo start a search service instance

  1. この手順を実行するユーザー アカウントがファーム管理者グループのメンバーであることを確認します。Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. ファーム内の 1 つのサーバーで SharePoint 管理シェルを開始します。Start a SharePoint Management Shell on one of the servers in the farm.

  3. Microsoft PowerShell コマンド プロンプトで、次のコマンドを入力します。At the Microsoft PowerShell command prompt, type the following command(s):

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

    詳細は次のとおりです。Where:

    • $ <host n> には、Search Service インスタンスの PowerShell オブジェクト参照を指定します。$ <host n> specifies the PowerShell object reference for the search service instance.

    • <Server name> には、インデックス コンポーネントの追加先のサーバーを指定します。入力は、 12345678-90ab-cdef-1234-567890bcdefgh という形式の有効な GUID、サーバーの有効な名前 ( myserver1 など)、有効な SearchServiceInstance オブジェクト インスタンスのいずれかである必要があります。<Server name> specifies the server on which you want to add an index component. The input must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a server (for example, myserver1 ); or an instance of a valid SearchServiceInstance object.

    次に例を示します。For example:

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

    検索コンポーネントを追加するとき、ターゲット サーバーを指定するには、参照 ($<host n>) を使用します。You use the references ($) to specify the target server when you add search components.

  4. すべての Search Service インスタンスが実行中になるまで待ちます。Search Service インスタンスのそれぞれで、Microsoft PowerShell コマンド プロンプトで、次のコマンドを入力します。コマンドが状態 Online を戻すまで続けます。Wait until all the search service instances are running. For each of the search service instances, at the Microsoft PowerShell command prompt, type the following command until the command returns the status Online:

    Get-SPEnterpriseSearchServiceInstance -Identity $<host n >
    

    次に例を示します。For example:

    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=OSearch16
    Role        : None
    Status      : Online
    

アクティブな検索トポロジを取得するRetrieve the active search topology

Search Service アプリケーションのアクティブな検索トポロジを表示するには、Microsoft PowerShell を使用する必要があります。To view the active search topology of the Search service application, you have to use Microsoft PowerShell.

アクティブな検索トポロジを表示するにはTo view the active search topology

  1. この手順を実行するユーザー アカウントがファーム管理者グループのメンバーであることを確認します。Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. SharePoint 管理シェルを開始します。再利用可能な Microsoft PowerShell オブジェクト参照を作成した SharePoint 管理シェルを既に開いている場合は、代わりに、その開いているシェルを使用します。Start a SharePoint Management Shell. If you already have an open SharePoint Management Shell in which you have created reusable Microsoft PowerShell object references, use the open shell instead.

  3. Microsoft PowerShell コマンド プロンプトで、次のコマンドを入力します。At the Microsoft PowerShell command prompt, type the following command:

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

このコマンドにより、アクティブなトポロジに関する情報が返されます。たとえば、次のように表示されます。TopologyId : 2d7bb046-1ad4-43a9-9984-754c4551a3ec CreationDate : 1/25/2016 3:06:00 AM State : Active ComponentCount : 6The command returns information about the active topology, for example:TopologyId : 2d7bb046-1ad4-43a9-9984-754c4551a3ec CreationDate : 1/25/2016 3:06:00 AM State : Active ComponentCount : 6

検索コンポーネントのリストを取得するRetrieve a list of search components

アクティブな検索トポロジ内の検索コンポーネントのリストをプロパティと共に表示するには、Microsoft PowerShell を使用します。検索コンポーネントプロパティの 1 つは、検索コンポーネント ID です。検索コンポーネント ID は、検索コンポーネントを削除する場合にのみ必要です。To view a list of search components in the active search topology with their properties, you have to use Microsoft PowerShell. One of the search component properties is the search component Id. You will only need the search component Id to remove a search component.

すべての検索コンポーネントのリストを表示するにはTo view a list of all search components

  1. この手順を実行するユーザー アカウントがファーム管理者グループのメンバーであることを確認します。Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. SharePoint 管理シェルを開始します。再利用可能な SharePoint 管理シェル オブジェクト参照を作成した SharePoint 2016 管理シェルを既に開いている場合は、代わりに、その開いているシェルを使用します。Start a SharePoint Management Shell. If you already have an open SharePoint 2016 Management Shell in which you have created reusable SharePoint Management Shell object references, use the open shell instead.

  3. Microsoft PowerShell コマンド プロンプトで、次のコマンドを入力します。At the Microsoft PowerShell command prompt, type the following command(s):

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

    コマンドは、アクティブな検索トポロジ内の検索コンポーネントのリストとそれらのプロパティを戻します。The command returns a list of search components in the active search topology and their properties.

アクティブな検索トポロジを複製するClone the active search topology

検索インデックスにアイテムを持つ検索インストール内の検索トポロジに変更を行うには、まず新しいトポロジ オブジェクトを作成する必要があります。この新しいトポロジ オブジェクト、つまりアクティブなトポロジの複製を変更するには、検索コンポーネントを追加または削除します。複製トポロジ オブジェクトに変更を行った後で、その複製をアクティブなトポロジにします。To make any changes to the search topology in a search installation that has items in the search index, you first have to create a new topology object. You modify this new topology object, a clone of the active topology, by adding or removing search components. After you have made the changes to the clone topology object, you make the clone the active topology.

アクティブなトポロジを複製するにはTo clone the active topology

  1. この手順を実行するユーザー アカウントがファーム管理者グループのメンバーであることを確認します。Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. SharePoint 管理シェルを開始します。再利用可能な Microsoft PowerShell オブジェクト参照を作成した SharePoint 管理シェルを既に開いている場合は、代わりに、その開いているシェルを使用します。Start a SharePoint Management Shell. If you already have an open SharePoint Management Shell in which you have created reusable Microsoft PowerShell object references, use the open shell instead.

  3. Microsoft PowerShell コマンド プロンプトで、次のコマンドを入力します。At the Microsoft PowerShell command prompt, type the following command(s):

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

    検索コンポーネントを追加または削除し、検索トポロジをアクティブ化する目的で、同じ SharePoint 管理シェルを引き続き使用する場合、コマンドは、$clone で参照できる複製検索トポロジを作成します。The command creates a clone search topology that can be referenced with $clone if you continue to use the same SharePoint 2013 Management Shell to add or remove search components and to activate the search topology.

  4. (省略可) 検索トポロジから検索コンポーネントを削除する場合、検索コンポーネント ID を取得する必要があります。Microsoft PowerShell コマンド プロンプトで、次のコマンドを入力します。(Optional) If you have to remove search components from the search topology, you have to retrieve the search component Id. At the Microsoft PowerShell command prompt, type the following command(s):

    Get-SPEnterpriseSearchComponent -SearchTopology $clone
    

    コマンドは、複製された検索トポロジ内の検索コンポーネントのリストとそれらのプロパティ (検索コンポーネント ID を含む) を戻します。The command returns a list of search components in the cloned search topology and their properties, including the search component Id.

検索コンポーネントを追加するAdd a search component

アクティブな検索トポロジは、直接、変更できません。この手順では、「アクティブな検索トポロジを複製する」で示した複製トポロジ オブジェクトを作成したと想定します。各検索コンポーネントについて、以下の Microsoft PowerShell コマンドレットを使用できます。You cannot change the active search topology directly. This procedure assumes that you have created a clone topology object as described in Clone the active search topology. You can use the following Microsoft PowerShell cmdlets for each search component:

  • New-SPEnterpriseSearchAdminComponentNew-SPEnterpriseSearchAdminComponent

  • New-SPEnterpriseSearchAnalyticsProcessingComponentNew-SPEnterpriseSearchAnalyticsProcessingComponent

  • New-SPEnterpriseSearchContentProcessingComponentNew-SPEnterpriseSearchContentProcessingComponent

  • New-SPEnterpriseSearchCrawlComponentNew-SPEnterpriseSearchCrawlComponent

  • New-SPEnterpriseSearchQueryProcessingComponentNew-SPEnterpriseSearchQueryProcessingComponent

注意

インデックス コンポーネントを追加する手順は異なります。詳細については、「SharePoint Server でインデックス コンポーネントを管理する」を参照してください。The procedure to add an index component is different. For more information, see Manage the index component in SharePoint Server .

検索コンポーネントを追加するにはTo add a search component

  1. この手順を実行するユーザー アカウントがファーム管理者グループのメンバーであることを確認します。Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. SharePoint 管理シェルを開始します。再利用可能な Microsoft PowerShell オブジェクト参照を作成した SharePoint 管理シェルを既に開いている場合は、代わりに、その開いているシェルを使用します。Start a SharePoint Management Shell. If you already have an open SharePoint Management Shell in which you have created reusable Microsoft PowerShell object references, use the open shell instead.

  3. Microsoft PowerShell コマンド プロンプトで、次のコマンドを入力します。At the Microsoft PowerShell command prompt, type the following command(s):

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

    詳細は次のとおりです。Where:

    • <SearchComponent> は、追加する検索コンポーネントの種類の名前です。 is the name of the search component type that you are adding.

    • $clone は、変更する、複製したトポロジです。詳細については、「アクティブな検索トポロジを複製する」を参照してください。$clone is the cloned topology that you are changing. See Clone the active search topology.

    • $<host n> は、検索コンポーネントを追加するサーバー上で実行中の Search Service インスタンスへの PowerShell オブジェクト参照です。「サーバー上で Search Service インスタンスを起動する」を参照してください。$ is the PowerShell object reference to the running search service instance on the server that you want to add the search component to. See Start a search service instance on a server.

    たとえば、以下のコマンドは、Search Service インスタンス参照 $hostA によって識別されたサーバー上の複製トポロジに、コンテンツ処理コンポーネントを追加します。For example, the following command adds a content processing component to the clone topology on the server identified by the search service instance reference $hostA.

    New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $clone -SearchServiceInstance $hostA
    
  4. 新しい検索コンポーネントが複製トポロジに追加されたことを確認します。Microsoft Power コマンド プロンプトで、次のコマンドを入力します。Verify that the new search component was added to the clone topology. At the Microsoft PowerShell command prompt, type the command:

    Get-SPEnterpriseSearchComponent -SearchTopology $clone
    

検索コンポーネントを削除するRemove a search component

検索コンポーネントを削除するには、Windows PowerShell を使用する必要があります。アクティブな検索トポロジは、直接、変更できません。この手順では、「アクティブな検索トポロジを複製する」で示した複製トポロジ オブジェクトを作成したと想定します。To remove a search component, you have to use Windows PowerShell. You cannot change the active search topology directly. This procedure assumes that you have created a clone topology object as described in Clone the active search topology.

注意

インデックス コンポーネントを削除する手順は異なります。詳細については、「SharePoint Server でインデックス コンポーネントを管理する」を参照してください。The procedure to remove an index component is different. For more information, see Manage the index component in SharePoint Server.

検索コンポーネントを削除するにはTo remove a search component

  1. この手順を実行するユーザー アカウントがファーム管理者グループのメンバーであることを確認します。Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. SharePoint 管理シェルを開始します。再利用可能な Microsoft PowerShell オブジェクト参照を作成した SharePoint 管理シェルを既に開いている場合は、代わりに、その開いているシェルを使用します。Start a SharePoint Management Shell. If you already have an open SharePoint Management Shell in which you have created reusable Microsoft PowerShell object references, use the open shell instead.

  3. 最新のアクティブなトポロジが正常であり、削除しようとしている検索コンポーネントが Active であることを確認してください。サーバーの全体管理の [検索管理] ページで検索トポロジの状態を表示するか、Windows PowerShell コマンドレット Get-SPEnterpriseSearchStatus を実行します。Make sure that the current active topology is healthy and that the search component that you are about to remove is Active. View the status of the search topology in the Search Administration page in Central Administration or run the Windows PowerShell cmdlet Get-SPEnterpriseSearchStatus.

  4. Microsoft PowerShell コマンド プロンプトで、次のコマンドを入力します。At the Microsoft PowerShell command prompt, type the following command(s):

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

    詳細は次のとおりです。Where:

    • <Search component id> は、削除する検索コンポーネントの ID です。複製トポロジからの検索コンポーネント ID を使用します。検索コンポーネント ID を取得するには、「アクティブな検索トポロジを複製する」の手順 4. を参照してください。 is the Id of the search component that you want to remove. Use the search component Id from the clone topology. To retrieve the search component Id, see step 4 in Clone the active search topology.

    • $clone は、変更する、複製したトポロジです。詳細については、「アクティブな検索トポロジを複製する」を参照してください。$clone is the cloned topology that you are changing. See Clone the active search topology.

  5. 確認を求めるメッセージが表示されたら、その検索コンポーネントを削除することを確認します。When prompted, confirm that you want to remove the search component.

検索コンポーネントを移動するMove a search component

サーバー間で検索コンポーネントを移動する場合、古い検索コンポーネントを削除する前に、検索トポロジに新しい検索コンポーネントを追加することを推奨します。If you want to move a search component from one server to another, we recommend that you add a new search component to the search topology before you remove the old search component.

検索コンポーネントを移動するにはTo move a search component

  1. アクティブな検索トポロジを複製します。「アクティブな検索トポロジを複製する」を参照してください。Clone the active search topology. See Clone the active search topology.

  2. 検索コンポーネントを最終的にホストするサーバーに、新しい検索コンポーネントを追加します。「検索コンポーネントを追加する」を参照してください。Add a new search component to the server that you eventually want the search component to be hosted on. See Add a search component.

  3. 検索トポロジをアクティブ化します。このトポロジには、1 つの余分な検索コンポーネントがあります。「検索トポロジをアクティブ化する」を参照してください。Activate the search topology. This topology will have one superfluous search component. See Activate a search topology.

  4. 最新のアクティブなトポロジが正常であることを確認してください。サーバーの全体管理の [検索管理] ページで検索トポロジの状態を表示するか、Windows PowerShell コマンドレット Get-SPEnterpriseSearchStatus を実行します。Make sure that the current active topology is healthy. View the status of the search topology in the Search Administration page in Central Administration or run the Windows PowerShell cmdlet Get-SPEnterpriseSearchStatus.

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

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

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

検索トポロジをアクティブ化するActivate a search topology

検索トポロジをアクティブ化するには、Windows PowerShell を使用する必要があります。To activate a search topology, you have to use Windows PowerShell.

検索トポロジをアクティブ化するにはTo activate a search topology

  1. この手順を実行するユーザー アカウントがファーム管理者グループのメンバーであることを確認します。Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. SharePoint 管理シェルを開始します。再利用可能な Microsoft PowerShell オブジェクト参照を作成した SharePoint 管理シェルを既に開いている場合は、代わりに、その開いているシェルを使用します。Start a SharePoint Management Shell. If you already have an open SharePoint Management Shell in which you have created reusable Microsoft PowerShell object references, use the open shell instead.

  3. Microsoft PowerShell コマンド プロンプトで、次のコマンドを入力します。At the Microsoft PowerShell command prompt, type the following command(s):

    Set-SPEnterpriseSearchTopology -Identity $clone
    

    詳細は次のとおりです。Where:

  4. 新しいトポロジがアクティブであることを確認します。Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。Verify that your new topology is active. At the Windows PowerShell command prompt, type the following command(s):

    Get-SPEnterpriseSearchTopology -Active -SearchApplication $ssa
    

    このコマンドにより、アクティブなトポロジと非アクティブなトポロジの概要が返されます。たとえば、次のように表示されます。The command returns an overview of active and inactive topologies, for example:

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

    アクティブなトポロジのコンポーネント カウントに変更が反映されるのを確認できます。You will see that the component count of the active topology reflects the changes that you have made.