Stage 12: Plan to use refiners for faceted navigation - Part I
This is a blog post in the series “How to set up a product-centric website in SharePoint Server 2013.” In this series, I'll use data from a fictitious company called "Contoso" to show you how to use search features to set up a website based on product catalog data.
Note: Most of the features described in this series are not available in SharePoint 2013 Online.
For an overview of the blog posts in this series, go to How to set up a product-centric website in SharePoint Server 2013.
In previous blog posts, I showed you how to upload and add display templates to a Content Search Web Part. Our Contoso site is starting to look really good, and now we have to make sure that visitors will quickly be able to find the product they are looking for.
This blog post will focus on what we have to plan before configuring refiners. We'll learn:
- How refiners helped me plan my trip to Japan
- About refiner types
- About identifying refiners for faceted navigation
Start stage 12
How refiners helped me plan my trip to Japan
Although the term "refiners" might sound new to you, there is a high chance you’ve already used them, and a lot more often than you think. For example, have you ever bought a book online? Well, then most likely refiners were there to help you find the right book. I recently went online to my favorite book store to find a travel guide about Japan. I typed in "Japan," and as you can imagine, pages of search results popped up. Trawling through pages of results is not my idea of fun. Luckily for me though, the site designers had smartly provided a way to narrow down search results. On the left side of the page was a "Categories" list, containing entries such as "Cooking," "Geography," "History," "Travel" and so forth. I clicked "Travel," and in an instant, the search results showed only travel books containing the word "Japan." However, turns out that there are quite a few travel books out there on Japan, so I needed to trim the results even further. I was looking for a paperback version (yes, I admit that there are still dinosaurs like me around who prefer the look and feel of a book made out of paper…). So, still focusing on the lists on the left side of the page, I spotted a category called "Format" containing terms like "Hardcover," "PDF," "Audio," Digital," and "Paperback. " So I clicked "Paperback" and got what I’d been after: results for travel books about Japan in paperback! Unfortunately, the number of search results was still too large for me, so I continued to use the different lists on the left side of the page until I’d drilled right down to five hopeful candidates; one of which made it over the finish line, and straight into my shopping cart.
Now, here’s the techy part to the tale: when I was clicking "Travel" and "Paperback" I was, in fact, using refiners. In SharePoint terms, a refiner is a managed property that has been enabled as a refiner. Refiner values are the values of a managed property that has been enabled as a refiner. So in the case of my online shopping trip, "Categories" and "Format" were refiners, and "Travel" and "Paperback" were refiner values.
Remember I showed you how a site column is represented as a managed property after being crawled? For example, in our Contoso catalog we have a site column named "Contoso Color." For each item in our catalog, we have added a color value, such as red, green or blue, to this column. If we want visitors to quickly narrow search results, for example, to a particular color, in the same manner that I did when shopping for a travel book on Japan, we have to enable the managed property that represents the "Contoso Color" site column as a refiner. There is, of course, more to it than that, and I will show you all these steps in later blog posts.
About refiner types
There are two types of refiners:
- Stand-alone refiners
- Refiners for faceted navigation
Going back to the scenario about finding a travel book about Japan, I used stand-alone refiners. Stand-alone refiners are usually applied in scenarios where you have unstructured content, and where the refiners can be applied across all content. These refiners are often used on a search results page to narrow down search results.
Now, you might be thinking that stand-alone refiners seem like an excellent refiner type to use on a search results page. But what about a scenario like our Contoso site, where we are showing catalog content? On our Contoso site, visitors want to browse the catalog to find what they are looking for, so they will not enter any words into a search box. Well, remember that we are using a Content Search Web Part to display content on our category page. Because the Content Search Web Part is using search technology to display search results, we can use refiners to narrow down search results that are displayed in the Content Search Web Part.
OK, so we can use refiners on our category page. That’s nice, but again you might be thinking: What if we want to use different refiners for different categories? For example, on the "Televisions" category, we want visitors to be able to refine on "Screen Size." On the "Air conditioners" category it doesn't make sense to have a refiner called "Screen Size," so we do not want to display it there. However, we do want visitors to be able to refine on "Installation type." In addition, there are some common refiners that should be applied to all categories, such as "Brand."
Well, you might have guessed it; you can achieve all of this with refiners for faceted navigation.
Refiners for faceted navigation is a new feature in SharePoint Server 2013. This feature enables website visitors to narrow search results by filtering on category specific refiners. They’re the type of refiners we need for our Contoso site. However, before I show you how to configure and add them, we should first work out which refiners we want to show, and how we want the refiner values to be displayed.
About identifying refiners for faceted navigation
When identifying refiners for faceted navigation, you need to find properties that contain certain pieces of information. Here’s what you should look for:
- Information that website visitors will want to use to narrow down search results.
- Information that can be applied to all categories.
- Information that can be applied to only a sub-set of categories.
For our Contoso site, I’ve identified a total of 14 properties that I want to use as refiners.
Of these 14 properties, only three represent information that can be applied to all categories. This means that we have 11 properties that apply to a subset of the categories.
Adding refiners for faceted navigation is done on the tagging term set on the authoring side. When specifying which refiners to use in which category, it’s helpful to use the tagging term set as a guide. In our Contoso scenario, this is the Product Hierarchy term set.
By default, all children of a term inherit refiners that have been added to a parent term. For example, a refiner that is added to the term "Cameras" will be applied to all its children, such as "Camcorders,” "Camera accessories," etc. You can override this inheritance to add or remove refiners for a child category. I will show you how this is done in later blog posts though; for now, let's concentrate on the planning part.
To save space, I’m not going to show you the complete faceted navigation structure of our Contoso site. Instead, in the table below, I’ve listed the refiners we want to use for the categories "Audio" and "Cameras," and to which term we want to assign them.
|Product Hierarchy term set||Refiners|
|Electronics||Price, Brand, Color|
|Audio||Inherit from Electronics|
|Car audio||Inherit from Audio|
|Headphones||Inherit from Audio|
|MP3||Inherit from Audio|
|Speakers||Inherit from Audio|
|Cameras||Inherit from Electronics + Zoom, Screen size|
|Camcorders||Inherit from Cameras|
|Camera accessories||Inherit from Cameras|
|Digital cameras||Inherit from Cameras + Mega pixels|
|Digital SLR cameras||Inherit from Cameras + Max ISO|
Now that we’ve identified which refiners to use, the next thing to consider is how we want the refiner values to be displayed.
Basically, there are two ways refiner values can be displayed: as a list, or grouped in intervals. For refiner values that use the data type Text, Person or Group, Choice or Yes/No, there’s not really much to consider. These refiner values will most likely always be displayed in a list as shown in the screenshot below.
However, when it comes to numeric refiner values, the story is somewhat different. For example, consider all the refiner values for a refiner such as Price. In our Contoso scenario, it could overwhelm our visitors with information and would therefore not be of much us.
For these types of refiner values, it would be much more helpful to display them in grouped intervals, as shown right below.
|Refiners||Property type||Display format for refiner values|
It’s important to define how you want your refiner values to be displayed because the different display options are tied to the property type. If that didn't make much sense to you, don't worry: I’ll explain more with examples in my next blog post.
Sayonara for now!
Next blog post in this series Stage 13: Plan to use refiners for faceted navigation - Part II