Change SharePoint 2013 Search Topology

One of the things that changes in SharePoint 2013 is the fact that you can no longer configure the Search Topology with Central Administration. Instead you have to user PowerShell commands. Unfortunately, the TechNet articles are not completely clear about all the details of how to use the commands in practical situations.

Therefore I decided to explain how to use them in one typical scenario. In a 3-tier architecture of Web Front End, Application Server and backend SQL Server, I tend to run Central Administration from the web front end, which I’ve named “WFE”, rather than from the application server.

Before Search Topology

When you install the Search Service Application, all the components are installed on he Web Front End. To distribute the processing load, in 3-tier architecture its best to keep the Query component on the Web Front End and move all the components to the Application Server. Below are step-by-step instructions to do this. Note that you should only use this method if you haven’t done a crawl yet and your search index is empty. If you want to move components around after you’ve got items in your index, you’ll have to clone the search topology first. In this case see Manage Search Components in SharePoint Search 2013.

Start by getting a reference to the WFE Server that is presently hosting all search components:

$wfeserv = Get-SPEnterpriseSearchServiceInstance -Identity "www"

Start an instance of the search service on the application server (which I have named “AppServ”:

$appserv = Get-SPEnterpriseSearchServiceInstance -Identity "appserv" 
Start-SPEnterpriseSearchServiceInstance -Identity $appserv

Give this command until it reports that the new server instance is “online” (if its not online yet it will say “provisioning”).

Get-SPEnterpriseSearchServiceInstance -Identity $appserv

Then create a new search topology and get a reference to it.

$ssa = Get-SPEnterpriseSearchServiceApplication 
$newTopology = NewSPEnterpriseSearchTopology -SearchApplication $ssa

In SharePoint Server 2013, search has six componenets:

  • Admin
  • Crawl
  • Content Processing
  • Analytics Processing
  • Query Processing
  • Index

Assign 5 of the components to the application server and assign the query component to the web front end:

New-SPEnterpriseSearchAdminComponent -SearchTopology $newTopology -SearchServiceInstance $appserv 
New-SPEnterpriseSearchCrawlComponent -SearchTopology $newTopology -SearchServiceInstance $appserv 
New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $appserv 
New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $appserv 
New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $wfeserv 
New-SPEnterpriseSearchIndexComponent -SearchTopology $newTopology -SearchServiceInstance $appserv

Now you need to activate the search topology:

Set-SPEnterpriseSearchTopology -Identity $newTopology

Now you have one active and one inactive topology which you can see with this new command:

Get-SPEnterpriseSearchTopology -SearchApplication $ssa

To get full details of the components in the active topology, you can use the Search Status command:

Get-SPEnterpriseSearchStatus -SearchApplication $ssa -Text

If everything has worked out OK, then you should see the application server assigned to the components in Central Administration in the search service application:
AfterSearchTopology Change

posted @ 2013-06-15 13:48  一只老鼠  阅读(401)  评论(0编辑  收藏  举报