SharePoint Server で既定の検索トポロジを変更する
適用対象:2016 2019 Subscription Edition SharePoint in Microsoft 365
この記事では、既定の検索トポロジから始めて、新しい検索トポロジで検索コンポーネントを作成、アクティブ化する方法について説明します。 この記事の手順と例では、SharePoint Server と Search service アプリケーションが新たにインストールされ、SharePoint Server 検索インデックスが空であると想定しています。 トポロジがクラウド ハイブリッド検索ソリューションの一部である場合は、手順と例を使用して、SharePoint Server で検索トポロジを管理することもできます。
SharePoint Server 検索インデックスにアイテムが含まれる場合は、「SharePoint Server で検索コンポーネントを管理する」および「SharePoint Server でインデックス コンポーネントを管理する」の手順に従ってください。
開始する前に
作業を始める前に、次の前提条件を確認してください。
SharePoint Server が単一サーバーにインストールされ、既定の検索トポロジを備えた Search Service アプリケーションが作成されている。 既定の検索トポロジでは、すべての検索コンポーネントが、サーバーの全体管理をホストするサーバーに配置されています。
Search Service アプリケーションの管理者である。
ターゲット検索トポロジの計画を作成済みである。 「SharePoint Server 2016 でエンタープライズ検索アーキテクチャを計画する」には、企業の検索に関するガイダンスが手順を追って示され、ハードウェア要件も示されています。 インターネット サイトのファーム アーキテクチャと検索トポロジの例については、技術ダイアグラム「SharePoint Server 2016 のインターネット サイト検索アーキテクチャ」を参照してください。 企業の検索用の検索インデックスでは、予想されたアイテム数に基づいてターゲット検索トポロジを計画することをお勧めします。
SharePoint Server が、検索コンポーネントをホストする予定のすべてのサーバー上にインストールされています。 サーバーはファームに追加され、ユーザーはこれらのすべてのサーバーの管理者である必要があります。 新しいアプリケーション サーバーを作成することも、既存の展開のアプリケーション サーバーを定義することもできます。
概要: 検索インデックスにコンテンツがない状態で検索トポロジを変更する
以下のリストでは、SharePoint Server 検索インデックスにコンテンツがない状態で、既定の検索トポロジから新しい検索トポロジに変更する際に必要なタスクの概要を確認できます。
クロールが開始されておらず、SharePoint Server 検索インデックスが空であることを確認してください。
検索コンポーネントをホストする、すべてのサーバー上で、検索サービス インスタンスを開始します。
新しい空の検索トポロジを作成します。
新しい検索トポロジに検索コンポーネントを追加します。
新しい検索トポロジをアクティブ化します。
検索トポロジがアクティブであることを確認します。
例: 既定の検索トポロジを小規模エンタープライズの検索トポロジに変更する
次の手順では、テーブルターゲット検索トポロジで計画されているように、複数のサーバーで小規模なエンタープライズ 検索トポロジを作成してアクティブ化します。 小規模エンタープライズ検索トポロジでは、物理アプリケーション サーバー上の仮想マシンを使用します。 この例のすべての検索コンポーネントはフォールト トレランスで設定されます。つまり、すべての検索コンポーネントとインデックス パーティションは、個別の障害ドメイン上の複数の物理マシンに展開されます。
別の変数を使って同じ手順を使用することで、大規模なエンタープライズ検索トポロジ、またはインターネット サイト用の検索トポロジにスケール アウトすることもできます。
ターゲット検索トポロジ
仮想マシン A (物理アプリケーション サーバー X 上) myserver1.example.com |
仮想マシン B (物理アプリケーション サーバー X 上) myserver2.example.com |
仮想マシン C (物理アプリケーション サーバー Y 上) myserver3.example.com |
仮想マシン D (物理アプリケーション サーバー Y 上) myserver4.example.com |
---|---|---|---|
管理コンポーネント 1 クロール コンポーネント 1 コンテンツ処理コンポーネント 1 分析処理コンポーネント 1 |
クエリ処理コンポーネント 1 インデックス コンポーネント 1 (インデックス パーティション 0 に属する) |
管理コンポーネント 2 クロール コンポーネント 2 コンテンツ処理コンポーネント 2 分析処理コンポーネント 2 |
クエリ処理コンポーネント 2 インデックス コンポーネント 2 (インデックス パーティション 0 に属する) |
サーバーの全体管理をホストするサーバー上でクロールが開始されておらず、検索インデックスが空であることを確認してください。
この手順を実行しているユーザー アカウントが Search Service アプリケーションの管理者であることを確認します。
サーバーの全体管理の [ アプリケーション構成の管理] セクションで、[ サービス アプリケーションの管理] をクリックします。
[サービス アプリケーションの管理] ページで、サービス アプリケーションの一覧から [Search Service アプリケーション] をクリックします。
検索インデックスが空であることを確認してください。 [ 検索管理] ページの [ システムの状態] で、[ 検索可能なアイテム] が "0" を表示していることを確認してください。
注意
SharePoint Server 検索インデックスにアイテムがある場合、この手順は中止してください。
- クロールが開始されていないことを確認してください。 [ 検索管理] ページの [ クロールの] 下の、[ コンテンツ ソース] をクリックします。 [ 管理コンテンツ ソース] ページで、すべての既存のコンテンツ ソースの [ 状態] 列が [ アイドル] を表示していることを確認してください。
ファーム内の 1 つのサーバーで SharePoint 管理シェルを開始します。
検索コンポーネントを追加する新しいサーバーを指定し、そのサーバー上で検索サービス インスタンス (ssi) を開始して、検索サービス インスタンスへの参照を作成します。 この手順では、[ターゲット検索トポロジ] テーブルに示されているように、サーバーに
myserver< *n* >
ホスト名の例を使用しました。 Windows PowerShell コマンド プロンプトで、以下のコマンドを入力します。$hostA = Get-SPEnterpriseSearchServiceInstance -Identity "myserver1" $hostB = Get-SPEnterpriseSearchServiceInstance -Identity "myserver2" $hostC = Get-SPEnterpriseSearchServiceInstance -Identity "myserver3" $hostD = Get-SPEnterpriseSearchServiceInstance -Identity "myserver4" Start-SPEnterpriseSearchServiceInstance -Identity $hostA Start-SPEnterpriseSearchServiceInstance -Identity $hostB Start-SPEnterpriseSearchServiceInstance -Identity $hostC Start-SPEnterpriseSearchServiceInstance -Identity $hostD
すべての検索サービス インスタンスが実行中になるまで待ちます。 Windows PowerShell コマンド プロンプトで、検索サービス インスタンスのそれぞれでコマンドが "オンライン" 状態を戻すまで、以下のコマンドを入力します。
Get-SPEnterpriseSearchServiceInstance -Identity $hostA Get-SPEnterpriseSearchServiceInstance -Identity $hostB Get-SPEnterpriseSearchServiceInstance -Identity $hostC Get-SPEnterpriseSearchServiceInstance -Identity $hostD
新しい検索トポロジと、その検索トポロジへの参照を作成します。 Windows PowerShell コマンド プロンプトで、以下のコマンドを入力します。
$ssa = Get-SPEnterpriseSearchServiceApplication $newTopology = New-SPEnterpriseSearchTopology -SearchApplication $ssa
すべての検索コンポーネントを新しい検索トポロジに追加します。 次の Windows PowerShell コマンドは、新しいトポロジの検索コンポーネントを作成し、新しいサーバーに割り当てます。 この小規模なエンタープライズ検索トポロジには、インデックス パーティション 0 という 1 つのインデックス パーティションがあります。 これは、コマンド
New-SPEnterpriseSearchIndexComponent
のパラメーター-IndexPartition
で示されます。 インデックス パーティションには、仮想マシン B 上に 1 つのインデックス レプリカがあり、仮想マシン D に 1 つのインデックス レプリカがあります。各インデックス レプリカにはまったく同じ検索インデックスが含まれており、フォールト トレランスを実現するために異なる物理サーバーでホストされます。 Windows PowerShell コマンド プロンプトで、以下のコマンドを入力します。New-SPEnterpriseSearchAdminComponent -SearchTopology $newTopology -SearchServiceInstance $hostA New-SPEnterpriseSearchCrawlComponent -SearchTopology $newTopology -SearchServiceInstance $hostA New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostA New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostA New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostB New-SPEnterpriseSearchIndexComponent -SearchTopology $newTopology -SearchServiceInstance $hostB -IndexPartition 0 New-SPEnterpriseSearchAdminComponent -SearchTopology $newTopology -SearchServiceInstance $hostC New-SPEnterpriseSearchCrawlComponent -SearchTopology $newTopology -SearchServiceInstance $hostC New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostC New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostC New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostD New-SPEnterpriseSearchIndexComponent -SearchTopology $newTopology -SearchServiceInstance $hostD -IndexPartition 0
新しい検索トポロジをアクティブ化します。 Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。
Set-SPEnterpriseSearchTopology -Identity $newTopology
新しい検索コンポーネントがアクティブであることを確認します。 Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。
Get-SPEnterpriseSearchTopology -SearchApplication $ssa
このコマンドにより、アクティブなトポロジと非アクティブなトポロジの概要が戻されます。この例では、次のようになります。
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 : 12
以前のトポロジ (この例での既定のトポロジ) は、非アクティブとして示されます。 この例の新しいアクティブなトポロジは、12 のコンポーネント カウントを持ちます。
新しい検索トポロジのすべてのコンポーネントが適切に実行中であることを確認してください。 Windows PowerShell コマンド プロンプトで、次のコマンドを入力します。
Get-SPEnterpriseSearchStatus -SearchApplication $ssa -Text
このコマンドは、すべてのアクティブな検索コンポーネントのリストを戻します。 アクティブな検索コンポーネントの状態は、 Active として示されます。