32

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)

  • were you able to find some way? If it was FAST then i guess we can use content processing pipeline. – Varun Verma Sep 9 '14 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 :) – Robert Lindgren Sep 9 '14 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 – Mark van Dijk Feb 15 '16 at 12:37
  • 1
    To be fair, this questions was asked before the one you reference @radityoardi – Robert Lindgren Jun 19 '17 at 14:59
  • 1
    You need to implement custom template for the same, click here for quick reference – Amjad Khan Dec 9 '17 at 7:34
0

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.

protected by Benny Skogberg Mar 23 '18 at 13:15

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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