Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Configuring the Multi Farm SharePoint 2013 Search Service application
Application pool
The first step is to create an Application Pool which will be used by search service application:
$appPool = New-SPServiceApplicationPool -name "ssaAppPool" -account contoso\girish
Start the search service instance on all the servers (WFE and Application server)
$host 1 = Get-SPEnterpriseSearchServiceInstance -Identity "GIRISHDSCS-APP1"
$host 2 = Get-SPEnterpriseSearchServiceInstance -Identity "GIRISHDSCS-APP2"
$host 3 = Get-SPEnterpriseSearchServiceInstance -Identity "GIRISHDSCS-WEB1"
$host 4 = Get-SPEnterpriseSearchServiceInstance -Identity "GIRISHDSCS-WEB2"
Start-SPEnterpriseSearchServiceInstance -Identity $host 1
Start-SPEnterpriseSearchServiceInstance -Identity $host 2
Start-SPEnterpriseSearchServiceInstance -Identity $host 3
Start-SPEnterpriseSearchServiceInstance -Identity $host 4
Start the search query and site settings service instance on the Application server:
$host 1 = Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance -Identity 'GIRISHDSCS-APP1'
$host 2 = Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance -Identity 'GIRISHDSCS-APP2'
Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $host 1
Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $host 2
Set the custom index location
$indexPath = "path of the custom index location"
$searchServiceInstance 1 = Get-SPEnterpriseSearchServiceInstance -Identity "GIRISHDSCS-APP1"
$searchServiceInstance 1 | Set-SPEnterpriseSearchServiceInstance -DefaultIndexLocation $indexPath
$searchServiceInstance 2 = Get-SPEnterpriseSearchServiceInstance -Identity "GIRISHDSCS-APP2"
$searchServiceInstance 2 | Set-SPEnterpriseSearchServiceInstance -DefaultIndexLocation $indexPath
$searchServiceInstance 3 = Get-SPEnterpriseSearchServiceInstance -Identity "GIRISHDSCS-WEB1"
$searchServiceInstance 4 | Set-SPEnterpriseSearchServiceInstance -DefaultIndexLocation $indexPath
$searchServiceInstance 4 = Get-SPEnterpriseSearchServiceInstance -Identity "GIRISHDSCS-WEB2"
$searchServiceInstance 4 | Set-SPEnterpriseSearchServiceInstance -DefaultIndexLocation $indexPath
Create the search service application and proxy:
$searchServiceApp = New-SPEnterpriseSearchServiceApplication -Name "Search Service Application" -ApplicationPool "ssaAppPool" -DatabaseName "SearchServiceApplication_DB"
$searchServiceAppProxy = New-SPEnterpriseSearchServiceApplicationProxy -Name "Search Service Application Proxy" -SearchApplication $searchServiceApp
Now the search service application is created as shown:
New search topology
Create the new search topology that is associated with the search service applications:
$searchServiceApplication = Get-SPEnterpriseSearchServiceApplication "Search Service Application"
$initialTopology = Get-SPEnterpriseSearchTopology -SearchApplication $searchServiceApplication -Active
$newSearchTopology = New-SPEnterpriseSearchTopology -SearchApplication $searchServiceApplication -Clone -SearchTopology $initialTopology
Search admin components
Create the search admin components
New-SPEnterpriseSearchAdminComponent -SearchTopology $newSearchTopology -SearchServiceInstance $host1
New-SPEnterpriseSearchCrawlComponent -SearchTopology $newSearchTopology -SearchServiceInstance $host1
New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $newSearchTopology -SearchServiceInstance $host1
New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $newSearchTopology -SearchServiceInstance $host1
New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $newSearchTopology -SearchServiceInstance $host2
New-SPEnterpriseSearchIndexComponent -SearchTopology $newSearchTopology -SearchServiceInstance $host2
New-SPEnterpriseSearchAdminComponent -SearchTopology $newSearchTopology -SearchServiceInstance $host3
New-SPEnterpriseSearchCrawlComponent -SearchTopology $newSearchTopology -SearchServiceInstance $host3
New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $newSearchTopology -SearchServiceInstance $host3
New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $newSearchTopology -SearchServiceInstance $host3
New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $newSearchTopology -SearchServiceInstance $host4
New-SPEnterpriseSearchIndexComponent -SearchTopology $newSearchTopology -SearchServiceInstance $host4 -IndexPartition 0
Activate the search topology:
Set-SPEnterpriseSearchTopology -Identity $newSearchTopology
$initialTopology = Get-SPEnterpriseSearchTopology -SearchApplication $searchServiceApplication | ? {($_.State) -eq "Inactive" }
Remove-SPEnterpriseSearchTopology -Identity $initialTopology -Confirm:$false
The search topology will be as follows: