The Problem: Best Bets are not supported in People Search Results
This one reeks of SharePoint and almost bit me in the rear.
The business case of using Best Bets in a People Search was presented to me the other day. As the resident Search Guru I immediately answered the logical answer of, “Yes of course Best Bets can be used with People Search” with the reasoning of ‘I’ll just add the Best Bets webpart’. Of course, as always the case when using sound reason with SharePoint, I was wrong – almost.
The Solution: Create a results page
If you’re searching this from Google and in a small panic, breathe easy. There is an extremely asinine work around: create a People Results page using the “(Welcome Page) Search Results” layout when creating a new search page instead of the “People Search Results” layout.
Yes, you heard me right. To create a people results page with Best Bets, do not use the “People Search Results” page layout.
For one reason or another (as discussed here), Microsoft went out of their way to block the ‘Best Bets’ webpart from the People Search Results page template. Even if it’s explicitly added, the control simply will not show.
Not a big deal as long as you keep in mind that all Search controls have the ability to scope to People Search. So while the People Search Results layout blocks the Best Bet control, there is no reason we can’t make a standard results page with a Best Bet webpart and query people.
This walkthrough assumes at least Site Collection Admin privileges and a good understanding of the SharePoint UI and webpart editing.
Step 1 – Create the Results Page
From your Search Center, go to “View All Site Content”, open your Pages Library and choose “Page” from the “New Document” drop down.
Give your page a name and a title and choose “(Welcome Page) Search Result” as the template.
You just created a results page with Best Bets! Congrats, you’re almost done! Now lets make it a people search results page.
Step 2 – Delete the “Refinement Panel”
This one is a bit crazy, but in order to get refiners that matter to people this control has to go. Go ahead and edit the page. Select the “Refinement Panel” webpart and delete it.
Smell you later “Refinement Panel”.
Step 3 – Update the “Search Box”
Next, let’s set the results page of the Search Box webpart.
While still in edit mode, select “Edit Webpart” from the drop down menu of the “Search Box Webpart”. From the webpart properties dialog, open “Miscellaneous” and update the “Target Search Results Page URL” to be the name of the page you created (in my example “PeopleResults_BestBets.aspx”).
Click “OK” when finished.
Step 4 – Update “Search Core Results”
We are still editing web parts, so go ahead and crack open the “Search Core Results” part via the “Edit Webpart” drop down. From Location Properties update the Location to “Local People Search Results”.
While you’re here, set the Zone Index to 2 (under Layouts) so that Best Bets come first.
Click “OK” when finished.
**Update – For on premise deployments, it works better to delete the “Search Core Results” web part and add the “People Search Core Results” web part.
Step 5 – Save the Page and then edit the page.
I know this sounds silly, but it is necessary for our People Search Refiner to work correctly. From your ribbon choose “Save and Close”. Next choose “Edit Page” from the Site Actions drop down.
Think of this step as a “Save and Close” and an “Open” shoved together.
Step 6 – Add in the People Search Refiner
Now let’s add back in the “People Search Refiner”. In the left most column (or wherever you want it really) select “Add WebPart”. This will open the “Add Webpart” dialog. Select the “Search” category and the “People Search Refiner” webpart. Click “Add”.
I know my screenshot looks different from most of you out there. Have no fear, this is only because my demo is in Office 365. It works just the same I promise.
Step 7 – Save, Publish, and Test!
From your ribbon, save your site one last time and publish it.
Once finished, go ahead and search a person who has the same name as a Keyword. In my case I searched this dude I know named “Jody Finch” who just happened to have a Keyword and Best Bet associated to him.
This trick applies to both FAST and Enterprise Search in SharePoint 2010. Remember the FAST Query component is nothing more than an Enterprise Search Service Application.
From here you’ll update your Search Center to include a tab to your new results page. If you want to get extra tricky, you can go ahead and delete the old ‘peopleresults.aspx’ and rename your new page to ‘peopleresults.aspx’ for a seamless experience. Just remember to update the Search Box webpart if you go and update your page name.