Moving search service from one to another server in SharePoint – is typical task, that always happens on old and large projects. If you cannot scale old search app server resources, only one way to make it works properly – move service to another, more powerful server. This instruction will help you to do that.
Existing Topology:
SharePoint 2016 farm:
- WEB – Web Server (FrontEnd, …)
- APP – Application Server (SearchService, …)
- APP-2 – New Application Server (SearchService, …)
- …
Task:
Move SearchService from APP to new and more powerful computer APP-2
Instruction:
- Clone existing search topology. Use this instruction in powershell:
123$ssa = Get-SPEnterpriseSearchServiceApplication$active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active$clone = New-SPEnterpriseSearchTopology -SearchApplication $ssa -Clone -SearchTopology $active - In virtual clone of service topology ($clone) add new search components:
- New-SPEnterpriseSearchAdminComponent
12New-SPEnterpriseSearchAdminComponent -SearchTopology $clone -SearchServiceInstance <GUID># <GUID> - id of SearchService on new application server - New-SPEnterpriseSearchAnalyticsProcessingComponent
12New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $clone -SearchServiceInstance <GUID># <GUID> - id of SearchService on new application server - New-SPEnterpriseSearchContentProcessingComponent
12New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $clone -SearchServiceInstance <GUID># <GUID> - id of SearchService on new application server - New-SPEnterpriseSearchCrawlComponent
-
12New-SPEnterpriseSearchCrawlComponent -SearchTopology $clone -SearchServiceInstance <GUID># <GUID> - id of SearchService on new application server
- New-SPEnterpriseSearchQueryProcessingComponent
12New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $clone -SearchServiceInstance <GUID># <GUID> - id of SearchService on new application server - New-SPEnterpriseSearchIndexComponent
1234New-SPEnterpriseSearchIndexComponent -SearchTopology $clone -IndexPartition 0 -SearchServiceInstance <GUID> -RootDirectory <PATH># <GUID> - id of SearchService on new application server# <PATH> - local path where search index will be stored on new app server# example: C:\SearchIndex
- New-SPEnterpriseSearchAdminComponent
- Activate new search topology
1Set-SPEnterpriseSearchTopology -Identity $clone
1Get-SPEnterpriseSearchTopology -Active -SearchApplication $ssa - Check is everything correct in SharePoint Central admin. Go to Search Service Application administration and take a look at top menu, with service topology. There will be 2 equal app servers with the same search components.
- Clone search topology again (step 1)
- Remove search components located on old app server:
- SearchAdmin
- SearchAnalytics
- SearchContent
- SearchCrawl
- SearchQuery
- SearchIndex
12Remove-SPEnterpriseSearchComponent -Identity <GUID> -SearchTopology $clone# <GUID> - id of old search service component
- Activate search topology again (step 3)
- Check (step 4). Now there will be only one search server (new APP-2).
- Run full craw in SharePoint Admin Center -> Search Application Management -> Content Sources