If you face any troubles when searching for e-mails items in different Outlook versions (nothing is found, not all results are displayed, not all *.pst files used for search, etc.), this article’s guidelines should help you to solve Outlook search issues (these recommendations are applicable to all current versions of Outlook 2010, 2013, 2016, 2019, and Outlook 365).
Check Search Indexing Status in Outlook
Outlook Search is powered by the Windows Indexing Service. To perform a search, Windows Search must scan the contents of the mailbox and connected PST files, and build an index of all available Outlook items. Therefore, the first step is to check the status of the Outlook index.
To do it, go to the Search tab, and select Indexing Status in the Search Tools section.
If the indexing is OK, you will see the following status in the next window:
0 items remaining to be indexed.
However, if there are any search problems, the status will be different:
23817 items remains to be indexed
Outlook search index is rebuilt when you add a new mailbox or Outlook Personal Folder (PST) file, move e-mails between folders, etc. If you have recently (up to 3-4 hours) performed these operations, you need to wait until indexing is complete. If you haven’t made significant configuration changes in Outlook for a long time and indexing is still ongoing, then the problem with the Outlook index is obvious.
Enable Outlook Indexing by Windows Search Service
To solve the problem, you should temporarily exclude Outlook from items that are scanned by the Windows Indexing Service. To do it:
- In Outlook, open File -> Settings;
- Select Search -> Indexing Options;
- Click Change
- Disable the indexing for Microsoft Outlook;
- Close Outlook, and using the Process Manager, make sure there is no
outlook.exe
process running on your computer.
In the properties of Outlook OST and PST files, make sure that their indexing is allowed (it is worth to do regardless of their indexing being already enabled in Windows Search Service settings). To do it:
- Open File -> Account Settings -> Account Settings;
- Go to the Data Files tab;
- Select files one by one and click Open file location;
- Right-click the OST or PST file you need and select its properties;
- Click Other;
- Check Allow this file to have context indexed in addition to file properties -> click OK.
Open an elevated PowerShell console and restart the WSearch service:
Restart-Service -Name wsearch –verbose
Now you need to enable Outlook Indexing in Search Settings, which was previously disabled. Check Microsoft Outlook in the indexing options and save the changes.
Give Outlook some time to complete the full indexing (it depends on the number and size of mailboxes and connected PST files). Check Outlook index status as shown above and try to search something.
How to Rebuild/Reset Outlook Search Index?
If search problem persists, it is recommended to completely reset and rebuild the index of Windows Search service. To do it:
- In Outlook, go to File -> Settings -> Search;
- Click Indexing Options -> Advanced;
- Click Rebuild;
- It may take some time to rebuild the index and the performance of your computer may be temporarily degraded.
Check and Repair Outlook PST Files
In some cases the indexing service is not able to index Outlook personal folder files (PST) due to logical errors or corruption of their structure. It is recommended to check and repair corrupted pst file using scanpst.exe.
Outlook Search and Cached Exchange Mode
In this section, we’ll take a look at how Outlook search works if your mailbox is located on an Exchange server. If Cached Exchange Mode is enabled in Outlook, the local index on your computer is used to find items. If Cached Exchange Mode is disabled, mailbox-side index (maintained by Microsoft Exchange Search Indexer) is used for mailbox searches.
The MSExchangeSearch service indexes an email message as soon as it gets into the mailbox database on the server. If your Outlook doesn’t search your mailbox when using the Exchange Search Index, the problem is most likely with the Exchange server. The Test-ExchangeSearch
cmdlet is used to diagnose problems with the Exchange Search service.
The most common problem is that the disk has run out (not enough space to increase the size of the search index), or the current index file has been damaged and needs to be rebuilt. You can use the built-in PowerShell script to reset the search index in Exchange %PROGRAMFILES%\Microsoft\Exchange Server\V14\Scripts\ResetSearchIndex.ps1.
To reset the search index for a specific mailbox database, use the command:
.\ResetSearchIndex.ps1 mailboxdbname1
Also check if indexing is enabled for the problem mailbox database:
Get-MailboxDatabase mailboxdbname1 | Format-Table Name,IndexEnabled
Outlook Search Function not Working: what are the other solutions?
What else can you check if Outlook search is not working or returning incomplete results?
- From the Outlook menu, select Search Tools -> Locations to Search. Make sure all mailboxes and PST files are selected for search;
- Make sure that the PreventIndexingOutlook = 1 parameter is missing in the registry key “HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search”. This parameter disables Outlook indexing by the Windows Search service. It corresponds to the policy “Prevent indexing Microsoft Office Outlook” under GPO Computer Configuration -> Administrative Templates -> Windows Components -> Search; If you are using MS Office Administrative Templates in the GPO, make sure the parameters in these policies don’t change the default Outlook search settings.
- In the Outlook settings (File -> Options -> Search) disable the option Improve search speed by limiting the number of results shown;
- Disable third-party Outlook extensions (File -> Options -> Add-ins);
- Reinstall Outlook using the Repair function of the MS Office installation MSI package (Office 365 has a convenient Quick Repair function);
- Use the Windows 10 built-in Search Troubleshooter. To start the tool, run the command:
msdt.exe -ep SystemSettings_Troubleshoot_L2 -id SearchDiagnostic
- You may also find a similar article useful: “How to fix search problems in Windows 10?”
3 comments
If you are using Exchange mailbox, the local index will only be used if Outlook is running in cached mode. Otherwise, the Exchange server index will be used.
If the search does not work when the cached mode is disabled, it is obvious that the problem on the side of the Exchange server with the MSExchangeSearch service or its index.
After trying almost everything in order to make Search working in Outlook 2016 (rebuild indexes, reinstall office etc.) I found a Microsoft Issue on https://goo.gl/LMrd2d plus a workaround.
By disabling Windows Search in Computer Management/Services (click on it and set Startup type to Disabled) Outlook 2016 will be forced to use it’s own built-in search machine instead of the system general seach indexer. It will make the search a bit slower, but it is working fine now.
None of the options found on the internet such as setting View>Show as Conversation, repair pst (the repaired files are again shown to need repair!), set indexing properties to pst files, enable/disable Outlook index, rebuild Windows indexing, work.
My index searches show anything 2017 and earlier. However… I noticed that after archiving stuff in a 2018 archiving pst file (rather than outlook – today), those files and emails do show up in the list.
It is just Outlook-today that keeps not working!