次の方法で共有


Extend Active Directory People Search Result by using Business Connectivity Service - part 2

In this post we will continue what we have done in part 1.

Step 4- Run Incremental Crawl for User Profile content source and Add Managed properties.

1- Run incremental Crawl for user profile content source in FAST Search Query SSA.

2- after Crawl is finished go to metadata properties under FAST Search Query SSA and click on New Managed Property 

 

3- Now we will create "DeptName" managed property to use it in Refinement panel and search options

4- Fill the fields with the following :

Property Name : DeptName

Description :DeptName

Type: Text

Add Mapping

then click Ok . If you go to Managed properties and search for "DeptName" , you will find as the below image

5- Now Start Full Crawl.

************ Step 4 Done ************

Step 5- Customize People Search Result Page

We will do three customizations:

  1. Add "DeptName"  as Refinement Category to Refinement Panel
  2. Add "DeptName" to  Custom Search option
  3. Show "DeptName" in People Core Result web part.

so let's start with first customization :

Customization 1 : Add "DeptName" as Refinement Category to Refinement Panel

1- Edit peopleresults page in FAST Search Site
2- Edit Web part ( people Refinement panel)

3- Uncheck "Use Default Configuration" and then add the following line to "Filter Category Definition"

<Category Title="Dept Name" Description="Use this filter to restrict results to a specific organization" Type="Microsoft.Office.Server.Search.WebControls.ManagedPropertyFilterGenerator" MetadataThreshold="1" NumberOfFiltersToDisplay="4" MaxNumberOfFilters="50" SortBy="Frequency" SortDirection="Descending" SortByForMoreFilters="Name" SortDirectionForMoreFilters="Ascending" ShowMoreLink="True" MappedProperty="DeptName" MoreLinkText="show more" LessLinkText="show fewer"/> 

then save the changes and save the page.

You will get the following result in Left Refinement Panel:

Customization 2: Add "DeptName" to Custom Search option in Search box

1- Edit peopleresults page in FAST Search Site

2- Edit Web part ( people Search box)

3- add to Properties the following line

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

then save the changes and save the page.

You will get the following result in Search box options:

Customization 3 - Show "DeptName" in People Core Result web part

1- Edit peopleresults page in FAST Search Site

2- Edit web part (People Search core resualt)

3- UnCheck "Use Location Visualization"

4- add this line to Fetched Properties

<Column Name="DeptName" HitHighLight="true" />

5- add these two lines to XSL Editor as following :

<xsl:variable name="hasdeptname"       select="string-length(deptname) &gt; 0"/>

and then add the following line

 

 <xsl:if test="$hasdeptname">
        <li id="deptnameField">      Department Name : 
          <xsl:apply-templates select="hithighlightedproperties/deptname" />
        </li>
</xsl:if>
  

then save the changes and save the page.

You will get the following result :

 

************ Step 5 Done ************

Notes:

  1. The above steps also applicable in SharePoint Search without FAST Search.
  2. These steps applicable to production environment.
  3. You can check if the data are imported by using Synchronization Service Manager (miisclient) in this
    path C:\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\
  4. If the length of data more than the defined type in profile property the data will imported but it will not showed in the user profile.