In this Tutorial we are going over the required steps to reset the Exchange Server 2013 search catalog. Depending of your environment the process to rebuild may be disk intensive, so make sure that you perform the tasks described here in a window outside of your production hours.
The first step is to check Exchange Server 2013 health of the services to make sure that everything is working fine, after all we don’t start working on a service that is not even up and running, right? The following cmdlet will list all services being used by each role on the current service and it will list also any service that is not running.
In order to rebuild the search catalog, we need to stop these three services highlighted in the image below. Our next step is to identify the search catalog that is associated to the Mailbox Database, and with that information we will be able to delete the desired search catalog. The following cmdlet can be used to list all Mailbox Databasses and their GUID (the search catalog uses the GUID to create the directory on the file system).
Get-MailboxDatabase | fl Name,EDBFilePath,Guid
Removing the search catalog…
At this point we have the Mailbox Database path and the GUID and the Exchange Search services are stopped. We will go to the Mailbox Database path listed on the EDBFilePath and on that location we will find a folder with the GUID of the given Mailbox Database, right-click on it and click on Delete.
Recreating the search catalog…
In order to start the recreation process, we just need to start the services that we had stopped at the beginning of this Tutorial. We can look for the event id 1013 in Event Viewer under Application, and this log entry will inform that the search catalog was not found and that will trigger the creation of the search catalog. If we look again in the file system we will notice a new folder that was created automatically. In order to keep track of the status of the process we can run the cmdlet below, and the crawling time will be based on the size of you mailbox database.
Get-MailboxDatabaseCopyStatus | ft Name,Status,ContentIndexState –AutoSize
Testing the Exchange Search…
After having the Exchange Search rebuild we can always run the cmdlet below to test it.
In this Tutorial, we went over the process to rebuild the Exchange Server 2013 search catalog.