We would like to allow users to search on values stored against user profiles without needing to use an explicit managed property search, i.e. they just want to type in the keyword and have the relevant people returned. Pretty much the problem as stated in this SharePoint.StackExchange post.
Matthew McDermott’s great blog post provides an approach to this problem for SharePoint 2010, http://www.ableblue.com/blog/archive/2011/03/15/sharepoint-people-search-and-alias-fields/. I’d encourage you to read that, don’t worry, this post will wait for you.
OK, make sense? Just set the ‘Alias’ flag against the User Profile Property, create a new Managed Property and map into RankingWeightName and you’re done once a full crawl is completed.
However the fix that Matthew proposes treats the new property as an analog of the name field, thus documents can appear to be authored by entries in this field. Sure for some scenarios this is exactly what you want, but it might not be, in my case this is a behaviour I want to avoid.
I want to add something that is a match across a number of people in your environment, say Office Location, Business Division, Job Title or any other property which shouldn’t really be an alias.
So, how do I get the behaviour I want?
There is now some additional settings against the managed properties in SharePoint 2013 which allows you to associate the managed property with a specific full text index! Turns out that a simple change to these settings is all I need to achieve my desired outcome.
Locate the managed property that you want to search within in your search service application and edit it. Scroll down and locate the Searchable checkbox. Now to my thinking all you should have to do is check this box and you’re good, the guide text even makes it look like this is the case by referring to a metadata field which is relevant to people. This isn’t the case, as this is a property related to people you need to do a bit more.
Check the Searchable box and click on the Advanced Searchable Settings button.
This launches a dialog, now simply switch the Full-text index drop-down to use the PeopleIdx:
Remember to click OK in both the dialog and edit page to save your changes, jump over to the content source which contains your people source and run a full crawl. The content source you’re after will contain a start address which uses the sps3 or sps3s protocol if you’re not sure which one it is.
Once this is done crawling you should now be able to search for people using category searches and not needing to specify the managed property you’re searching within.