SharePoint 2010 People Search using Metadata

The scenario is simple; what you want is to configure people search and allow that to search using a custom metadata property that is being populated into the user profiles from an external system like a BCS system. I will dedicate several posts for configuring the user profiles service and synchronization from an external source. But for this post I assume that the user profiles synchronization is up and running and that we added an extra profile property for example employee ID from an external system. So here are the steps.

  1. Make sure that the “Managed Metadata Service” is provisioned and running before you perform this procedure.
  2. Once the initial full synchronization is completed we should check that the custom property is populated to the users profiles as expected.
  3. Open the SharePoint central administration web site.
  4. Create a new content source for your user profiles
    Select your configured search application
    Click Manage
    Fill in the required fields and mark how we write the URL of the SharePoint site to the my sites host URL with a special sps3 protocol.
    Create schedules as required
    Select full crawl check box (you can do that later if you want)
    Click OK
  5. Keep refreshing the content sources page until the crawl has finished.
  6. Create a new metadata property pointing to your custom user profile property.
    Click “Metadata Properties”
    Click “Add Mapping”
    Select “People:EmployeeID” (This is the crawled property and you will never find it until you perform the initial full crawl of the users profiles) and then OK
  7. Once this is done and this is a very important step RUN ANOTHER INCREMENTAL CRAWL.
  8. Open your search center that you want the user to use the new metadata property and now we will customize this page to add the new managed property.
    Click the “People” link.
    Click on site actions and then edit page.
    Open the search box web part properties
    Now in this window add a new line like this:
    <Property Name="EmployeeID" ManagedName="EmployeeID" ProfileURI="urn:schemas-microsoft-com:sharepoint:portal:profile:EmployeeID"/>
    Click ok twice
    Now when you click on search options you see this view
    And if you enter any employee ID in the designated section you get results as following
    Please note the query format.

So now your users are able to search for a user profile using their HR system employee ID.

Please note one thing if you want to localize the name of the property you will have to change the field name in this line to whatever you want.

<Property Name="EmployeeID" ManagedName="EmployeeID" ProfileURI="urn:schemas-microsoft-com:sharepoint:portal:profile:EmployeeID"/>

Happy SharePointing Smile

Comments (4)

  1. Nicky says:

    Very useful information on this post.Your post has good content and important tips.Keep up the good work.

  2. Nicky says:

    The internet has involved so much with the advancement of technology making it easier to connect to loved ones.This is a nice post.Keep on writing.

  3. shirsendu says:

    Very few post that works so great and smooth..Appreciate

  4. Sharepointer says:

    Setting up Search can be difficult, so thanks for providing easy steps and screenshots.

    Nicky, stop spamming blogs with generic comments that apply to any article, just to peddle whatever you're selling.

Skip to main content