39

We have a requirement to be able to have a refiner in People search that refines in an hierarchical way.

Let's say we have

  • A custom User Profile Property called "Organisation"
  • bound to a TermSet "Organisation"
  • bound to Managed Property "ManagedOrganisation"
  • In the refiner webpart of PeopleResults.aspx we have added a new entry to the XML:

    <Category Title="Organisation"
    Description="Managed Metadata for tjoho"
    Type="Microsoft.Office.Server.Search.WebControls.ManagedPropertyFilterGenerator"
    MetadataThreshold="1"
    NumberOfFiltersToDisplay="4"
    MaxNumberOfFilters="20"
    SortBy="Frequency"
    SortByForMoreFilters="Name"
    SortDirection="Descending"
    SortDirectionForMoreFilters="Ascending"
    ShowMoreLink="True"
    MappedProperty="ManagedOrganisation"
    MoreLinkText="show more"
    LessLinkText="show fewer" />
    

This do work, but it does not work hierarchically, meaning if we have a term set structure like:

  • IT
    • Maintenance
    • Development
    • Team management
  • Finance
    • Accounting

selecting "IT" in the Refinement panel does not include results from the subterms; "Maintenance", "Development", "Team management".

I played around with the Microsoft.Office.Server.Search.WebControls.TaxonomyFilterGenerator, but was not successful.

How can I configure my setup for this to work? We are using SharePoint Standard 2010 (no FAST)

6
  • were you able to find some way? If it was FAST then i guess we can use content processing pipeline. Commented Sep 9, 2014 at 11:06
  • 1
    No I dropped this ball, the customer was not interested any more since it seems to not be possible OOTB or with ease :) Commented Sep 9, 2014 at 11:08
  • 6
    I can confirm that this feature isn't included in SharePoint. Not in SP2010, nor in FAST for SharePoint, SP2013 or SP2016. For one customer we've built a solution by creating a custom crawled property that was filled using a pipeline extension in FAST Search for SharePoint 2010. This was then rendered by some custom javascript that created the tree filter. In SP2013 (and SP2016 since Search hasn't changed much) there are other options, because a refinement filter is defined by an FQL query. DIQA's Semantic Search Webparts are built using this: diqa-pm.de/en/Semantic_Search_Webparts Commented Feb 15, 2016 at 12:37
  • 1
    To be fair, this questions was asked before the one you reference @radityoardi Commented Jun 19, 2017 at 14:59
  • 1
    You need to implement custom template for the same, click here for quick reference
    – Amjad Khan
    Commented Dec 9, 2017 at 7:34

1 Answer 1

1

For this you must create custom Pages with Custom Refiners, where you will create your own hierarchy and after setting this you will send a Search Query created from the selected refiners in first WebPart to the second WebPart where will be displayed search results.

You cannot do this in SharePoint OOTB.

In easy way you can create Form with Refiners and after accept it will redirect to the SearchPage where in URL Address will be added Refiners in search query. Something like: https://company.sharepoint.com/_layouts/15/search.aspx/siteall?q=Refiner1:IT&Refiner2:Management and it should display correct results.

You need to play with this, cause it will take hours for me to prepare and test this solution.

Not the answer you're looking for? Browse other questions tagged or ask your own question.