<

How to overcome outdated or missing search results in outlook with exchange

Published on
3,393 Points
393 Views
Last Modified:
Jon Matthews
CERTIFIED EXPERT
When using online mode (non-cached) with Exchange, Outlook users might suddenly be unable to find up to date search results or the search even turns up no results. This is most probably due to a corrupted search index at the exchange server - I will tell you how to correct this.

If you are running Exchange online mode you may get the situation, like I did, where users are unable to get up to date search results or no results are returned at all. After initially trying to fix this on the client side through Outlook and rebuilding local indexes it got me nowhere.


The issue turned out to be related to a corrupted Exchange Search index file.

To solve this, all you need to do is recreate your Exchange Search Index from scratch.


** Schedule at least several hours or overnight for initialising this, it can take long time for large organisations**


On your mail server:


1. Stop the following services on the server where Exchange is running: 

Microsoft Exchange Search

Microsoft Exchange Search Host Controller


2. Browse to the installation path which is usually #:\Program Files\Microsoft\Exchange Server\Mailbox\Mailbox Database <name of the database file (numbers)>


3. In this folder is another folder named similarly to: 

########-####-####-####-###############.1.Single
Rename this to:

########-####-####-####-###############.1.Single.old

Note: For renaming this folder its important that the services in step 1 are stopped


4. Start the services: 

Microsoft Exchange Search

Microsoft Exchange Search Host Controller
The Exchange server will now rebuild the index file.


This process could take some time. To view the status of this process, execute the following steps:

1. Start Microsoft Exchange PowerShell, 'Exchange Management Shell'

2. Use the following command: 'Get-MailboxDatabaseCopyStatus'

The 'ContentIndexState' will change during this process from failed to crawling and eventually to healthy. If this is not the case then an error has occurred during the rebuild and will need to be investigated via your event logs.


Alternatively, you can see more granular progress via Performance Monitor:

You need to right click on the active performance counter in the tree on the left, and select properties.
Then on the 'data' tab you need to add a counter, scroll down in the list of counters until you see 'MSEXchange Search Indexes', under that category you select 'Crawler: Mailboxes remaining'. 

Below that in 'instances', you select all the databases individually instead of total.


Our replicated Hyper-V virtual machine with 4 cores assigned took about 1 hour to re-index the 40GB (very small, <100 active mailboxes) database which resides on an enterprise SSD.

I would expect to need at least 10 hours per terabyte on more high end systems depending on your exact configuration and the resource you allocate.


While re-indexing, the endpoint impact is negligible.

However, the search function will generate no results until each user mailbox has been crawled.

I found this to occur alphabetically through the list of mailboxes so expect to see functionality return for those early in the list first.

0
Ask questions about what you read
If you have a question about something within an article, you can receive help directly from the article author. Experts Exchange article authors are available to answer questions and further the discussion.
Get 7 days free