in

SharePoint Blogs

The Best Place for SharePoint-related Blogs

Life of a Hungarian SharePoint Geek

I've got a lot of help from the SharePoint community, so at the spring of 2007 I decided to create a blog of my own and share my SharePoint experiences.

High Confidence Results in MOSS 2007

At the MSDN forum I found an interesting question that asks what high confidence results are. After some investigation I think I have the answer for this question.

First of all, high confidence results are displayed by the Microsoft.Office.Server.Search.WebControls.HighConfidenceWebPart (Microsoft.Office.Server.Search assembly). On the standard search result page (results.aspx) there are two instances of this web part. One is Search High Confidence Results, the other is Search Best Bets. If you check the properties of the HighConfidenceWebPart either by modifying the shared web part, or by using Reflector, you can see that this web part can display keyword matches with best bets and the mysterious high confidence results. By default the Search High Confidence Results web part instance is configured to display the high confidence results and the Search Best Bets web part instance is configured to display keywords and best bets (as one can guess from their name).

The SDK contains information about that when the Enterprise Search returns the results there is a HighConfidenceResults table that is “The result set containing high-confidence results”. Well, it is not very descriptive, is it?

Let’s see the formatting XSL for the HighConfidenceWebPart. You can check it in the XSL Editor in the Data View Properties section of the tool part. Fortunately, there is a template for the HighConfidenceResults, displayed below:

<xsl:template match="All_Results/HighConfidenceResults/Result"> 
 <xsl:if test="$DisplayHC = 'True' and $IsFirstPage = 'True'" >
  <xsl:variable name="prefix">IMNRC('</xsl:variable>
  <xsl:variable name="suffix">')</xsl:variable>
  <xsl:variable name="url" select="url"/>
  <xsl:variable name="id" select="id"/>
  <xsl:variable name="pictureurl" select="highconfidenceimageurl"/>
  <xsl:variable name="jobtitle" select="highconfidencedisplayproperty1"/>
  <xsl:variable name="workphone" select="highconfidencedisplayproperty2"/>
  <xsl:variable name="department" select="highconfidencedisplayproperty3"/>
  <xsl:variable name="officenumber" select="highconfidencedisplayproperty4"/>
  <xsl:variable name="preferredname" select="highconfidencedisplayproperty5"/>
  <xsl:variable name="aboutme" select="highconfidencedisplayproperty8"/>
  <xsl:variable name="responsibility" select="highconfidencedisplayproperty9"/>
  <xsl:variable name="skills" select="highconfidencedisplayproperty10"/>
  <xsl:variable name="workemail" select="highconfidencedisplayproperty11"/>

You can see, that all of the properties are related to persons. I found that if you search for a person specifying the full name, and there is match, then it is displayed as a high confidence result. In the web part properties you can specify if the title, image, description and other properties should be displayed for a high confidence match. There is a ResultsPerTypeLimit property (“Maximum matches per High Confidence type ”) that similar to the BestBetsLimit property (“Best Bets limit ” on the user interface). Based on my experience, the BestBetsLimit works as expected but the ResultsPerTypeLimit seems to have no effect on the displayed results. Checking the default formatting XSL shows that the BestBetsLimit property is used (BBLimit parameter), but the ResultsPerTypeLimit is not used, although it is declared as an XSL parameter with the same name.

You should include the following condition in the HighConfidenceResults template (see above) after checking the "$DisplayHC = 'True' and $IsFirstPage = 'True'" condition:

<xsl:if test="position() &lt;= $ ResultsPerTypeLimit " >

Remark: The XSL parameter values are populated in the ModifyXsltArgumentList method of the HighConfidenceWebPart web part.
Published Nov 13 2007, 06:57 PM by pholpar
Filed under: ,

Comments

 

Cale Hoopes said:

Hey! Thanks for taking a crack at this. So, based on your evaluation of the web part, your thinking is that High Confidence Results is really just matching based on people. So, it really has nothing to do with web pages and sites but more about people searches.

Am I correct?

November 13, 2007 12:51 PM
 

pholpar said:

Yes, I think so. Of course, it would be much better to read some kind of official documentation about this feature than reverse engineering the code. Anyway, if I found something new, I will post it here.

November 13, 2007 2:49 PM
 

Links (11/13/2007) « Steve Pietrek’s SharePoint Stuff said:

Pingback from  Links (11/13/2007) &laquo; Steve Pietrek&#8217;s SharePoint Stuff

November 13, 2007 6:28 PM
 

pholpar said:

broodbozo has some very interesting results on the high confidence results topic at the MSDN forum. It seems that HCR can be extended to other crawled properties, not only to the people related ones. Thanks!

November 29, 2007 1:21 PM

Leave a Comment

(required )  
(optional )
(required )  
Add

Need SharePoint Training? Attend a SharePoint Bootcamp!

Posts (c) their respective authors. Everything else (c) 2007 SharePoint Experts