As I test out the newer features of Dynamics 365 I am creating blog posts, this time I am going to look at the relevance search option.
What is Relevance Search?
Hopefully you are already familiar with the categorized search (sometimes called multi-entity search), that have had since CRM 2015 was launched. If not, you can review it here. There is an example of the categorized search below. This is great as it searches multiple entities in CRM and returns the results.
But what if you wanted to further filter the results? There is a filter with option but that just lets you focus on a single entity. And what if you wanted to complete more complicated searches, such as opportunities for “home appliances” or “home electronics”.
If you need this greater flexibility, then the relevance search might be the answer. That is if you are using Microsoft Dynamics 365 (Online). The relevance search is not available for On-Premise users.
Once your administrator has configured the relevance search you can access it from the same search icon as the categorized search. See below that I have swapped to the relevance search. Immediately I hope you notice that results are now displayed as a single list in order of relevance. And on the left-hand side we have several filters. Initially these include record type, owner, modified on date and date created.
By default, the relevance search allows filtering by record type, owner, modified on and created on. But if you select a specific record type additional filtering options may become available. See below how I have focused on one record type of opportunity and additional filtering becomes available, including potential customer, estimated revenue and estimated close date.
Also, notice that I no longer needed to add a wild card. Plus, I can search using multiple key words. In my example, the categorized search would look for all entities with “datum example” in a single field, which more than likely would return no results. But the relevance search will look for each keyword in any field. Meaning it is a multi-entity, multi-field search.
Azure Search, used by the relevance search option, also provides some additional query characters;
- + … Will search for results that contain both works. Such as Datum+Corporation. Note, the words do not have to be together but proximity will score higher on relevance.
- | … Will search for results that contain either word. Such as Seattle|Remond.
- ” “ … Used to search for a phrase, so “Datum Corporation” would look for the entire company name.
- () … Using the term training+(health|safety) will search for matching CRM records that contain the training and either health or safety, or both.
Previously optionsets weren’t supported in the relevance search. But Dynamics 365 has added this capability. See below how I have tested this by adding the Purchase Timeframe optionset as a view and find column on opportunity. Having done this, I can then do a complex search to find all opportunities for “video” that are shown for this quarter or next quarter.
Video+(“This Quarter”|”Next Quarter”)
How the Relevance Search Works
As with many features I doubt you need to understand the detail of how the relevance search works! (Unless you are a developer!) But it is important to understand what the relevance search is doing. As it is making use of Azure search functions, meaning your data needs to be synchronised with Azure. This process happens seamlessly in background but it is worth knowing that changes can take 15 minutes to be reflected in the search results. Also, when you initially enable the relevance search there could be a considerable delay for the initial synchronization with Azure.
As the relevance search uses Azure search capabilities results are scored based on their relevance and this in turn drives the sequence of the results returned.
Plus, using the Azure search means Microsoft Natural Language Analyzer comes into play. Meaning “Lemmetization” (great word!) is used to break words down into their linguistic forms. This sounds complicated but it simply means that a search for “Run” would also match with words like “Ran”, “Running” and “Runner”. (FYI: I tested exactly this situation and it worked perfectly but some other word combinations I thought might work didn’t! Such as I thought Dave would return David, it didn’t!)
Setup / Configure Relevance Search
The relevance search is not enabled by default. An administrator must manually enable it. The relevance search needs to be enabled in system settings. (As shown below.)
The relevance search uses Azure, therefore you will need to accept the warning message that your data will be shared externally.
Having enabled the relevance search you can select which entities will be supported by the relevance search. See below that from customizations I can select entities to access the “Configure Relevance Search” option.
Below you can see that several entities are listed by default but the selected entities can be changed as required. (Don’t forget that if you add a new entity it will take time for the initial data synchronization with Azure Search.)
TIP: Having made any changes you to need to “Publish All” to make the changes take effect.
It is possible to configure the fields used by the relevance search, this is done by altering the find fields in the quick find view.
Non -text fields are not supported. (non-text implying you can’t search for dates. But you can filter by date!) Rollup and calculated fields are supported but only updated when the row is updated.
The view columns are also used by the relevance search, as these drive the columns returned and available filtering options. (You cannot filter by fields included in the view from related entities.)
You may also need to check the managed properties on the entity. As the “Can enable sync to external search index” option must be true.
Having tested the relevance search in Dynamics 365 I am impressed with some of the available options. Finding data is a key feature in any CRM system so these improvements are very welcomed. J
2 thoughts on “Dynamics 365 – Relevance Search”
Thank you for information! What’s abous custom entities? Is it works?
I believe it will work. (Although I haven’t tested.)