B - PROBLEMS :
1. Search Application: Index Component grows bigger when more content is populated at SharePoint farm.
2. Available Drive Space: this should have at least twice the value of physical memory (RAM). By default, all Search components are saved at C drive and it will consume this drive; hence, it leads to many operational issues. For example: permissions removed silently due to the problem at Virtual memory swap file.
C - SOLUTION:
1. Search Availability: to ensure the Search service is available to users, "Query Processing" and "Index" components should be replicated at all SharePoint servers.
2. Index Components of Search Application should be allocated at a separate drive to cater for future growth & access speed.
# to move the Index Components at all SharePoint servers to drive I New-SPEnterpriseSearchIndexComponent -SearchTopology $new -IndexPartition 0 -SearchServiceInstance $hostWFE1 -RootDirectory "I:\FEOshareSearchComponents2015" New-SPEnterpriseSearchIndexComponent -SearchTopology $new -IndexPartition 0 -SearchServiceInstance $hostWFE2 -RootDirectory "I:\FEOshareSearchComponents2015" New-SPEnterpriseSearchIndexComponent -SearchTopology $new -IndexPartition 0 -SearchServiceInstance $hostApp -RootDirectory "I:\FEOshareSearchComponents2015"
D - SOURCE CODE:
### GET THE EXISTING ENVIRONMENT PARAMETERS ### $ssa = Get-SPEnterpriseSearchServiceApplication "Search Service Application - FEOshare" $current=Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active $new=New-SPEnterpriseSearchTopology -Clone -SearchApplication $ssa -SearchTopology $current # list all search servers deployed in the farm $hostApp = Get-SPEnterpriseSearchServiceInstance -Identity "kc1mspappprd01" $hostWFE1 = Get-SPEnterpriseSearchServiceInstance -Identity "kc1mspwfeprd01" $hostWFE2 = Get-SPEnterpriseSearchServiceInstance -Identity "kc1mspwfeprd02" # check the settings of the search application Get-SPEnterpriseSearchStatus -SearchApplication "Search Service Application - FEOshare" ### RE-CONFIGURE TO ALLOCATE SEARCH COMPONENTS ### # delete the old configuration at the default location (drive C) $del = Get-SPEnterpriseSearchComponent -SearchTopology $new | ? {$_.Name -eq "IndexComponent1"} Remove-SPEnterpriseSearchComponent -Identity $del -SearchTopology $new # create new INDEX components at new location # must configure RootDirectory https://technet.microsoft.com/en-us/library/jj219721.aspx New-SPEnterpriseSearchIndexComponent -SearchTopology $new -IndexPartition 0 -SearchServiceInstance $hostWFE1 -RootDirectory "L:\FEOshareSearch2015" New-SPEnterpriseSearchIndexComponent -SearchTopology $new -IndexPartition 0 -SearchServiceInstance $hostWFE2 -RootDirectory "L:\FEOshareSearchComponents2015" New-SPEnterpriseSearchIndexComponent -SearchTopology $new -IndexPartition 0 -SearchServiceInstance $hostApp -RootDirectory "I:\FEOshareSearchComponents2015" # create new QUERY PROCESSING component at new location New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $new -SearchServiceInstance $hostWFE1 New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $new -SearchServiceInstance $hostWFE2 ### SET THE NEW TOPOLOGY TO BE ACTIVE ### Set-SPEnterpriseSearchTopology -Identity $new