Adding Custom Refiners to SharePoint Search

Background
On this example, I have created multiple document type columns
– each document type column is uniquely paired to a content type. So for example, a “Meeting Document” content type includes a “Meeting Document Type” column, and a “Correspondence” content type includes a “Correspondence Document Type” etc.

RefinableString managed properties
To add a custom
refiner you must first map one or multiple crawled properties to one of the built-in Refiner managed properties. For this example, in Central Admin > Search Administration > Search Schema, I chose to use the “RefinanbleString01” managed property and map it to all the different document type crawled properties. You must select the crawled property starting with “ows_” for this to work. For example, the crawled property for Meeting Document Type is called “ows_MeetingDocumentType”. Once all mapped crawled properties are added, give the “RefinanbleString01” an Alias name so you can recognise it when configuring the Refinement Web Part.

Next run a full crawl.

When the crawl has completed, access the Search Results page where you wish to re-configure the Refinement Panel. Edit the Refinement Panel Web Part and click on the “Choose Refiners” button:

Add the e.g. “RefinableString01” managed property. In the properties displayed below give the refiner a Display Name – in my case “Document Type”. Click “OK” to save the Web Part’s settings and save/publish the search results page. Now try some searches and confirm the Refiner behaves correctly.