In my many years of working with enterprise search, the one thing which companies want solved first is finding people. They might have an employee directory or they might already be using SharePoint user profiles, but there are always tweaks to be made to make it better.
It’s not rocket science from a technical perspective, as the hard part is figuring out which pieces of data about a person should be stored in the SharePoint user profile, where does it come from – the age-old question about master data, and how do you want to use this information in a findability scenario around your employees.
With the recent update on the SharePoint home page in Office 365, it will now also highlight your skills in the people results, not only retrieving results.
The first order of business is to find all pieces of information which uniquely identify a person. By default, the profile already have your name, e-mail address and login account name. Other unique properties could be your employee number, twitter handle, or even known aliases or nick name. Maybe your CEO goes by the name of Steven, even though his name is Steffen. Once you have found these properties, it’s time to create a custom user property for the profiles.
User profile properties
In the sample below I have created a new user profile property named Known Alias. I have checked off the boxes to make it indexable and that it is an alias. This ensures that if I search for an alias, will get a match for that person, and I will also be able to retrieve the alias as part of a custom search result. This means the alias will not show om the SharePoint home page search, but you could make it show in a display template on the enterprise search center.
Once the custom user property in the user profile is created, someone has entered data in it, and the profiles have been indexed by the search crawler, you will get a crawled property matching the user profile property.
Crawled and managed properties
The content of this property is included in the full-text index, but if you want to display it as well you need to map it to a managed property. For example, one of the re-usable RefinableString ones.
That said, aliased properties are not a good example though to map to the existing RefinableString managed properties. The reason being the contents will then no longer be full-text searchable as the RefinableString managed properties are not included in the full-text index by default. You can however use them in property queries, and retrieve them. If you have a user profile property with for example a URL to Linked-in, that would work just fine. It’s not information you would query, but could be something you want to display.
Instead, let’s create a new managed property named KnownAlias, which is one of the few good use-cases to actually create a custom managed property. The image below has been edited to show the settings you want.
- Type: text
The final piece of the puzzle is to click the Advanced Searchable Settings button on the above screen.
On this screen make sure you set the full-text index to be PeopleIdx. If not, the contents of your user profile property will not be full-text searchable when looking for people.
With all of this setup, you should be able to search for people on the date you have decided, as well as be able to display that date in a custom display template or another tailored search driven application.
Linking data about a person to the SharePoint user profile and over to the search index requires planning and knowing how all the pieces fit together. Hopefully you now have a better understanding of how it all works, and are able to up the game of your people search experiences.