Freigeben über


Relevant Relevancy Changes in SharePoint 2013 Sept and Oct 2016 CUs

Two recent features were added to the Search Service Application that can have an impact on relevancy.  The features are enabled by the following flags: ResetSynonymWeightToOne and RecallContentOnlyInDefault. According to the CU notes, the flags enable functionality defined as follows:

Sept. 2016 CU

This update provides a ResetSynonymWeightToOne boolean flag in the Search Service Application, which can be set to $true to change the synonym weight to 100% of the original term.

Oct. 2016 CU

This update provides a new RecallContentOnlyInDefault boolean property in the search service application which can be set to $true to disable recall from all non-default update groups.

Here is how these settings can impact you and scenarios under which you may want to enable them.

ResetSynonymWeightToOne

By default, the rank score contribution weight of a synonym is 20%.  For example, if you search using the query term "computer" and have a synonym for "computer" that is "laptop", the query is expanded.  The expanded query will match documents that contain "computer" or "laptop".  During ranking score calculation, the Term Frequency scores of "computer" and "laptop" will be calculated.  Since "laptop" is a synonym, its score will be reduced to 20% of its actual total, or in other words, multiplied by 0.2.

This default behavior is often unexpected or undesired to customers who use synonyms and feel that synonyms should be considered equally when calculating ranking scores.  Setting the ResetSynonymWeightToOne to $true will change the weighting of synonyms to 100% or, in other words, the term frequency score is not discounted.

Note: terms which expand queries through stemming or lemmatized forms are also weighted at 20%, but there currently is no supported way of changing this value.

RecallContentOnlyInDefault

This oddly named flag removes certain Managed Properties from consideration when recalling (or matching) documents for a query.  The Managed Properties not considered are those that are Searchable, but not in the default UpdateGroup.  To see a full list of all the properties that are affected you can run the following PowerShell:

$ssa | Get-SPEnterpriseSearchMetadataManagedProperty | ? {$_.UpdateGroup -ne $null -and $_.Searchable}

The most common scenario where you may want to consider using this flag is when the QLogClickedText Managed Property is populated.  The QLogClickedText property, which does not belong to the default UpdateGroup and is Searchable, is populated with the submitted query terms when a user clicks on a result.  For example, if a user submits the query "hardware" and clicks on search result #8 titled "A Computer Book", the QLogClickedText property for the document titled "A Computer Book" will be updated with the value "hardware".

The intention is to tie query terms to documents users interact with to provide better relevancy.  Since, by default, the QLogClickedText property is used for recall (document matching) and relevancy (document sorting), it is possible to get query terms associated with documents which Search Admins and users not feel represent the document well or are considered irrelevant to the document.  In this case, setting the RecallContentOnlyInDefault to $true will not consider Managed Properties not in the default Update Group (e.g. QLogClickedText) when matching or recalling documents for a query.  The values in these properties continue to be used for relevancy ranking scores.

Comments

  • Anonymous
    May 17, 2017
    Hivery useful article, thank you. Quick question - how to set ResetSynonymWeightToOne = $true? could not found any of the documentation around the same anywhere else.
    • Anonymous
      May 22, 2017
      Hi Vishal,Assuming you've upgraded to the Sept 2016 CU or more a more recent CU, you'll find the setting on the SSA.> $ssa = Get-SPEnterpriseSearchServiceApplication> $ssa.ResetSynonymWeightToOne = $true
      • Anonymous
        May 26, 2017
        Thank you so much for your reply, it worked.