In the SP management console run:

$ssa = Get-SPEnterpriseSearchServiceApplication

get-spenterprisesearchstatus -SearchApplication $ssa -Detailed -Text

What I have found is that sometimes the reset index process hangs and there is no documentation as to what to do about it.

On the SSA you will see something like this:

Administrative status Paused for:Index reset

Or:

Administrative status Paused for:External request, Index reset

Or:

Administrative status Paused for:External request

You can run this command in the SSA management console to verify if the SSA is paused. If this command returns False, the SSA is running. If this command returns True, the SSA is paused.

$ssa.IsPaused() -ne 0

This is the most common I have been seeing with indexers out of sync and reset index stuck:

($ssa.IsPaused() -band 0x100) -ne 0

If True returns the search index is being deleted and you must “Wait until the search index is deleted.”

Well if your indexers are out of sync this can take many many hours or never return!

(If False you may want to look at the link at the bottom for more commands on this to see why the SSA is still paused, could be a backup or topology change, etc)

Here is the process I have been able to use to fix this issue:

#1 First try to force a resume, if this doesn’t work that’s fine and go to #2 anyways, just more of a try a last ditch force.

$ssa.ForceResume($ssa.IsPaused())

#2 On all of the nodes that contain an indexer component, stop the timer services and delete the indexes:

Stop “SharePoint Timer Service”

Stop “SharePoint Search Host Controller”

Delete data directory, by default install it will look like this:

C:\Program Files\Microsoft Office Servers\15.0\Data\Office Server\Applications\Search\Nodes\[Hex ID\IndexComponentN\storage\data\*

Start “SharePoint Timer Service”

Start “SharePoint Search Host Controller”

#3 Once they directories are deleted, run reset index again (which should complete very quickly)

Get-SPServiceInstance -All With this command you look for the instance number that corresponds to the search service Sharepoint Server Search

to solve the problem run the following line of code taking into account that we know the ID number of the search service

$ value = Get-SPServiceInstance -Identity 2295513d-114f-4113-978c-c6613074d672
$ value.provision ()
$ value.update ()

It is validated that the status changed to ONLINE with the following command

Get-SPServiceInstance -All

Get-SPEnterpriseSearchServiceInstance -Identity “yourHost”

status must have changed to ONLINE

Leave a Reply

Your email address will not be published. Required fields are marked *