Sharepoint: Improve the search experience with the TermTree Refiner (May 6, 2021)
Finding documents in Sharepoint online/Office 365 can be tedious. If you have a hierarchy of terms, like product groups, series and products, then you can easily refine search results for leaf terms. But it is impossible to refine for terms that sit higher in the term tree, e.g. product groups or series. This is because the standard refinement webpart shows leaf terms, only. This frustrates your users who cannot leverage the structural information of the term store.
You can provide your users with a better search experience if you use DIQA's TermTree Refiner. This Webpart extends the standard refiner webpart and visualises the terms in the hierarchical context of the term tree. Users can select terms in the hierarchy to drill down or drill up in the search results. This webpart makes use of managed metadata. This refinement webpart has these advantages over standard SharePoint-Search:
- The terms contained in the search results are presented in their tree-context
- Users can easily drill-up or drill-down in the tree to broaden or narrow the search
Frustrating search experience without meaningful refiners:
The standard refiner hides important information like the position of a search hit in the term tree. Additionally you cannot filter for parent terms, like product groups.
What do you need to do to achieve this improved search experience? Just follow the steps below!
See the TreeRefiner Webpart in this video:
Step 1: Prepare your library
1. Create a termset with your document types
- Open the termstore manager (from the site settings)
- Create a new termset, give it a name like "products"
- Create a term for each product of your company, take care to create a meaningful hierarchy of products, like product groups.
2. Create a column for your document library that contins the document types
- Open the document library
- Open the library advanced settings
- Click on "create column"
- Enter the name of the new library column, e.g. "products"
- Select "managed metadata" as type
- In the term set settings: select the termset "product" (from the step above)
- Click on "Save" to close the form
3. Manually tag a couple of documents as examples
- Open the library settings and add the new column "products" to the default view of the library
- Open the "Quick Edit" view of the library.
- Populate the field "products" with meaningful values for a couple of documents. Take care to use leaf terms only, i.e. products, not product groups.
Download/install the TreeRefiner Webpart either for Sharepoint 2016, 2019 on premise or Sharepoint online: TreeRefiner Webpart
Step 2: Create a classic search center and add the TreeRefiner Webpart
1. Create a classic Search Center
- Open the contents of your Sharepoint site and click on "subsites".
- Create a new sub site by clicking on the "New" action link.
- A form opens where you specify the new sub site.
- In the template field: select "Enterprise/Basic Search Center".
- Click on "Create" to create the new seach center.
1. Add the TreeRefiner Webpart to the results page
- Open the page "results.aspx" in edit mode.
- Add the "TreeRefiner" Webpart into the page.
- Open the Webpart in edit mode.
- In the page edit view: open the property settings of the Refinement webpart
- Click on the button "Choose refiners"
- In the "refinement configuration" dialog: add the refinable managed propery
(from the search schema step), like: RefinableString00 (or 01 etc).
- Click on "Ok" to add RefinableString00 to the refiner
- Save the modified properties of the webpart by clicking on "OK"
- Store the modified page..
2. Modify the search schema
- Open the Sharepoint admin center for your tenant or the central administration for SP onpremise
- Click on the "Search" section
- In the Search section: click on "Search schema"
- Click on the hyperlink “Managed Properties” to retrieve the list of managed properties.
- Enter the name of the refinable managed property that you have selected as refiner (e.g. “RefinableString00”) into the filter and apply the filter to retrieve it in the list of refinable managed properties for strings.
- The edit mode of the RefinableString-property contains the section “Mappings to crawled properties”. Click on the button named “Add a mapping” to open a popup window.
- In the popup window, enter the string “ows_taxid” and klick on “Find” to retrieve the list of crawled properties of type “Managed Metadata”
- Select in the list of crawled properties the property that corresponds to your site column, e.g. "ows_taxid_products". Click on “OK” to save the setting and close the popup window.
NOTE: If you cannot find a crawled property that corresponds to your site column, then you should start a full crawl which INCLUDES your library (see next step)!
Step 3: Verify the search results
1. verify the search results
- Open the search center
- Enter "*" as search string and submit the query
- Inspect the refiner values: they should include your document types
- Click on a refiner value, like "invoice", in order to restrict your search results to contain only invoices and bills.
If the new refiner does not contain values then you have to wait until the Sharepoint online search engine has completed re-indexing your library. If still no values show up then you have to go back to your library settings and click on "re-index library".
- Get the TermTree Refiner Webpart: TreeRefiner Webpart