How to Rebuild Exchange Search Index?

Summary: To enable the search process, Exchange Server depends on indexing. However, sometimes, users face issues with the search/indexing process. In this post, we’ll be discussing the ways to troubleshoot search/indexing issues. Also, you’ll find an Exchange repair tool that can help resolve the issue if it occurs due to database corruption.

Exchange Server alone cannot search into all resources and depends on indexing to facilitate the search process. In Exchange Server 2019, a different method and engine are used for indexing which is different from Exchange Server 2013 and 2016. It uses the Big Funnel search engine, which is based on Bing?s technology.

In Exchange Server 2019, the index data is located within the mailbox itself, making the rebuilding faster and the movement of mailboxes does not cause indexing issues, since it?s already indexed.

Sometimes, users complain that the search is taking too long or it doesn?t return any results. So, if a user is having problems with the search, you don?t need to investigate the Exchange Server configuration but the affected mailbox. The first step is to check if the problem is isolated to only one user, a few users, or all users.

Troubleshooting the Search/Indexing Issues within Exchange Mailboxes

  1. The first thing to check is that all the services of Exchange are running and started. This can be checked from the Services.
Get-MailboxStatistics <usermailbox> | FL BigFunnel*

This will show a lot of information regarding the mailbox index status and information. However, you need to look at the important options which will give an indication of not indexed items, which are:

You can either check them in the command above or use the below command to just get the not indexed items.

Get-MailboxStatistics <usermailbox> | FL *NotIndex*

This will get you the results one mailbox at a time. To see all the mailboxes in one go, use a combination of Get-Mailbox and Get-MailboxStatistics (as given below).

Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | ? {$_.BigfunnelNotIndexedCount -ge "1"} | ft DisplayName,BigfunnelNotIndexedCount

This will show a list of users and any items which are not indexed and also the extent of the damage.

In Exchange Server 2019, there are three ways to resolve the matter.

1. Re-indexing the failed items

You can use the Start-MailboxAssistant command which is available with the Exchange Server 2019 Cumulative Update (CU) 11.

Start-MailboxAssistant -Identity <mailbox> -AssistName BigFunnelRetryFeederTimeBasedAssistant

The logs for the Big Funnel are at the following location.

C:\Program Files\Microsoft\Exchange Server\v15\Logging\MailboxAssistantsSlaReportLog

2. Override Method

In this, you can use two commands which you can take from the link: Override Method Commands – Microsoft.

  1. First, you need to create the setting to override.
New-SettingOverride -Name "Big Funnel Permanent Retry" -Component "BigFunnel" -Section "BigFunnelFailedItemsQuerySettings" -Parameters @("ExcludePermanentFailures=false") -Reason "Re-Index Messages" -MinVersion "<Build Number>" -MaxVersion "<Build Number>"
Get-ExchangeDiagnosticInfo -Process Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument Refresh

3. Move the Mailbox to Another Database

Another solution is to move the mailbox to another database by using New-MoveRequest and then run the move statistics command to confirm the move from the Exchange Management Shell (EMS).

New-MoveRequest <usermailbox> -TargetDatabase <databasename>

Next, you need to confirm that the database move was successful by running the following command.

Get-MoveRequest <usermailbox> | Get-MoveRequestStatistics

Conclusion

If the problem persists, you can try to dismount and mount the Exchange database to manually kick in the indexing process. Else, you would need to wait a bit until the processes start automatically.

It could also mean that there could be corruption in the mailbox or database. Restoring from backup is not an option as you would lose all the data from the time of backup to when the issue occurred. It may also happen that the problem was previously there and restoring from backup doesn?t mean that the problem will be resolved as you wouldn?t know when the problem started. Also, the data loss will get bigger the more you move back.

The safest alternative to resolve the matter is by using the best companion app for Exchange Server – Stellar Repair for Exchange. With this application, you can open corrupted Exchange Server databases, from any Exchange Server version without the need of an Exchange Server. You can browse through all the data and granularly export mailboxes, shared mailboxes, archives, and public folders to PST and other formats. You can also export recovered mailboxes directly to a live Exchange Server database of any version or Office 365 tenant. During export, you can benefit from features, such as parallel processing, automatic or manual mailbox matching, and the continuation of the process in case of interruption.

Related Post