Wednesday, 22 February 2012

error the search service instance on this server is not online cannot start Search service

The search service instance on this server is not online cannot start Search service
Cannot start search from Central Admin via system settings > Manage services on this server. Checked ULS logs and did lot of goggling and found different resolutions what worked for me was to reapply the topology for search.

Go to Central Admin > Application Management > Manage Service application
Click on your Search Service Application, scroll down the page till you see Modify button
Check if any of the Crawl or Query or Admin component is not online or not responding
Click on Modify button and Apply Topologies may consume 5-10 minutes to complete the process Hurray now it works for me.

If that doesn’t work for you have a look at ULS logs, PowerShell may resolve the issue for you. Run the following command

$searchinstance = Get-SPEnterpriseSearchServiceApplication

Check the search status here
Now pause the search instance run $searchinstance.Pause()
And to resume search run $searchinstance.Resume()

If this throws an error, check for the corresponding error or correlation id in ULS logs.

It could be an issue with Admin component to resolve this, run the following PowerShell command

$searchadmininstance = Get-SPEnterpriseSearchServiceApplication -local   

Type $searchadmininstance and press enter to see Search instance details, if you see the search status as disabled, now run

Get-SPEnterpriseSearchServiceInstance -Local | Start-SPEnterpriseSearchServiceInstance

Once above runs successfully, execute below:

$searchapp = Get-SPEnterpriseSearchServiceApplication

Now set search Admin component:

set-spenterprisesearchadministrationcomponent –searchapplication $searchapp –searchserviceinstance $searchadmininstance

This process may consume 5-10 minutes, now manoeuvre to search service application it shall be all okay.

Please let me know if this helps so I can update my solution

1 comment:

  1. The line getting the instance ($searchadmininstance = Get-SPEnterpriseSearchServiceApplication -local ) should be changed as follows:

    $searchadmininstance = Get-SPEnterpriseSearchServiceInstance -local