The term FAST Search may not be entirely new to you if you managed SharePoint sites anytime during this decade. With Microsoft Exchange Server 2016, the FAST search architecture has been introduced to Exchange. With FAST search, various new features are made available to Exchange 2016 mailbox users, including Search suggestions and People suggestions. These suggestions are dynamically computed based on your previous searches and the names of people that you frequently communicate with. The new feature set is readily available when using Outlook on the Web to connect to a mailbox on Exchange Server 2016 or Exchange Online. Additionally, the newer Outlook 2016 desktop client also takes advantage of the new FAST search when connecting to these same mailboxes.
The evolution of Search in Outlook
As far back as in Outlook 2003, Outlook has utilized Windows Desktop Search (WDS) to index Outlook Data (.pst) and Offline Outlook Data (.ost) files. These indexes are created on the local disk. At the same time, Outlook uses the same WDS architecture to search these local indexes when you initiate a search. The use of WDS in Outlook is sometimes referred to as Instant Search.
Let us focus strictly on searching Exchange mailbox content... Exchange content is indexed by WDS when Outlook is configured to connect to the Exchange mailbox using Cached Exchange Mode. When an Exchange email account is in Cached Exchange Mode, the mailbox contents are synchronized to the local .ost file. It is this local file that is indexed by WDS. WDS does not index the mailbox store directly. Why am I still talking about WDS? Because it is still relevant, even when using the latest and greatest versions of Outlook and Exchange.
Search in Outlook 2016
In Cached Exchange Mode, Outlook 2016 still queries WDS desktop search indexes... and it queries Exchange 2016 and Exchange Online using FAST Search.
Assuming FAST Search is not disabled by policy, Outlook 2016 actually submits simultaneous queries to both WDS and FAST Search. But only one set of results are displayed by Outlook. Assuming that the FAST Search results are returned in a timely manner (about 5 seconds), these are given precedence. But, if the FAST Search timeout is reached before a server response, then the WDS search results are displayed. Alternatively, Outlook also assesses the performance of the network connection and if it determines there is latency, it defaults to displaying the WDS results. But wait, there's more! Some search scopes set search criteria that cannot be processed by FAST. If you set the scope to All Outlook Items, Subfolders, or All Mailboxes Outlook defaults to WDS results. The search scope is set next to the Search text box, as shown here:
Additionally, if you type search criteria that is not supported by FAST, Outlook returns WDS results (of course, assuming WDS supports the criteria). For example, Outlook supports the use of natural language queries, such as received:this year. However, Outlook 2016 FAST search does not. Therefore, if you submit received:this year, Outlook automatically displays WDS search results. To use FAST search for a similar query, you would need to submit the following criteria: received>12/31/2016.
To recap, Outlook 2016 uses FAST search and/or returns results using FAST, except if any one of the following conditions are true:
- You are connected to a mailbox on Exchange Server 2013 or earlier
- Outlook 2016 is connected to the mailbox in online mode
- The FAST search feature is disabled via policy or local user registry setting (more on administering the feature below)
- The FAST search query results are not returned in a timely manner (about 5 seconds)
- Outlook 2016 assesses the performance of the network connection and determines there is latency
- You are searching a secondary mailbox (there's an exception to this exception, as explained later)
- The search scope is set to All Outlook Items, Subfolders, or All Mailboxes
- The search criteria is not supported by FAST search
Am I seeing WDS or FAST results?
To determine which results Outlook 2016 has chosen to display, assuming both queries were submitted, you can focus on a small user interface cue:
If the results displayed are those generated by FAST, the bottom of your message list will display the following cue:
If the results displayed are those generated by WDS, the bottom of your message list will display the following cue:
Of course you were going to ask what clicking More does... this sends a non-FAST query to Exchange. Yes, Exchange Server 2016 supports both FAST and legacy Exchange Search functionality. The latter is still required for backward compatibility with Outlook 2013 and earlier versions.
When Outlook 2016 released, the plan was to only support FAST search on your primary mailbox. However, you may currently find that in some situations, Outlook 2016 will attempt to use FAST search when you are viewing secondary stores, such as a Shared Mailbox and the like. Under these conditions, the FAST query is submitted in the context of the logged on user (you), resulting in the search results being pulled from your mailbox, not the secondary mailbox that currently has the focus in your Outlook client. To work around this, you have a few options:
- Change the search scope to All Outlook Items, Subfolders, or All Mailboxes
- Disable Outlook 2016's use of FAST search via policy or local user registry setting (see the next section)
Administer FAST Search in Outlook 2016
To disable FAST search (server assisted search) and revert back to using WDS, an administrator can apply a group policy or implement the following user registry values:
|Disable Server Assisted Search||Group Policy registry path:
OCT registry path:
|Disables Outlook from requesting and using Search results from Exchange for cached and non-cached mailbox items. Instead, it will use search results from Windows search service.|
|Disable Server Assisted Suggestions||Group Policy registry path:
OCT registry path:
|Disables Outlook from requesting search suggestions from Exchange.|
The DisableAssistedSearch and DisableServerAssistedSuggestions are DWORD values and should be set to 1 to enforce.
These and other related registry values are documented in the Outlook 2016 - Deployment Guide for Admins on Microsoft TechNet.
Special thanks to Paul Slaathaug for reminding me to get this blog wrapped up and for providing additional topics to cover.