I am creating a series of blog posts that collectively are designed to help anyone preparing for the Microsoft Dynamics 365 Customer Engagement Core exam. (aka MB-200) In this post I will look at concepts around searching.
In the skills measured statement (shown below) under the heading “Perform solutions deployment and testing”, you will see a reference to both the relevance and categorization search features.
We actually have several types of search available to us, including;
The “default” search
Note: The Dynamics 365 /CDS security model will be applied consistently across all search modes. Meaning you can only view records that your security role(s) grant access to.
By default, on views within the system I can perform simple searching and filtering of records within the view. These searches act on which ever entity you are currently viewing. Multiple columns are searched and all records matching the search are returned in the view.
Multiple fields are searched, exactly which fields are controlled by system administrators. As administrators can edit which columns are “find columns” by customizing the “Quick Find View”.
Next, we have the filter option which is activated by clicking on the funnel icon. The filter allows users to create ad-hoc filters on one or more columns within the view.
Both the default search approach and filtering cannot be considered a “global” search! As they will only search one entity at a time. To search multiple entities simultaneously we would use the category or relevance search options.
You access the category (and relevance) search options by clicking the search icon found in the top level navigation bar. (shown below)
Note: If you have the relevance and category search enabled then you may also need to pick the correct search type.
Below you can see that I have used the category search to look for matches for the word “neil”. In my example this has returned matching accounts, contacts, leads, opportunities and more. In fact I may have several pages of entities I could review. (Notice the scroll option at the footer of the screen!)
The columns searched by each entity (as with the default search) can be controlled by a system administrator by making changes to the find columns in the “Quick Find View”. Additionally for each record returned we see three fields, these are the first three columns the administrator included in the quick find view.
Further to this the administrator can control which entities are included in the results returned.
Also notice that the “filter with” option will allow you to focus on a single entity as required.
I hope you can see that the category search is a powerful multiple entity search capability. But it does not apply any “fuzzy” logic when searching. For that we’d need the relevance search.
If you need this greater flexibility, then the relevance search might be the answer. Once your administrator has configured the relevance search you can access it from the same search icon as the category search. See below that I can swap 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 (facets) may become available. See below how I have focused on one record type of opportunity and additional facets becomes available, including potential customer, estimated revenue and estimated close date.
Also, notice that I no longer need to add a wild card. Plus, I can search using multiple key words. In my example (below), 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. (Notice how the words used to match the records are shown in bold.)
To demonstrate how this differs from the category search I performed the same search using that. My category search returned no results! As none of my entities contains the phrase “datum example” in one field.
The relevance search makes use of Azure Search functions. This 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 records that contain the training and either health or safety, or both.
As with many features I doubt you need to understand the detail of how the relevance search actually works! (Unless you are a developer!) But it maybe important to understand what the relevance search is doing. Relevance search 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”.
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 may 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. 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.)
Facets & Personal Options
As already mentioned you can filter the results of each entity by a number of facets. It is possible for each user to control which facets an entity is filtered by. (This does assume the administrator has already added the fields as columns in the quick find view!)
Within personal options on the general tab the user can pick which search experience they would like to use as their default and also define the facets / filters for each entity.
Below you can see that I have selected my opportunity entity. Notice that the user has the purchase process and purchase timeframe available to them. These are only available as I have added them as columns in the quick find view on the opportunity entity. As five fields are available the user can now select which four they would like to use when filtering opportunities. (There is a limit of four fields!)
As part of your revision for the MB-200 exam I suggest you experiment with the various search options and consider the differences between each option. One good exercise might be to add some columns to a quick find view and see how these effect the category and relevance search options. Enjoy. 😃