Changing SharePoint 2010 Search Ranking Model

SharePoint 2010 Enterprise Search uses ranking models to determine how data is weighed and results are ranked. Out of the box SharePoint 2010 provides nine different models, from which two are used by default. You also have the option to create your own if this is required. To see which models are registered with your Search Service Application, you can use the following PowerShell Command:

 Get-SPEnterpriseSearchRankingModel -SearchApplication "Search
 Service Application"


The default Core Results Web Part uses the MainResultsDefaultRankingModel and the People Results Web Part uses the MainPeopleModel. To try the different models, you can just append the search results querystring with &rm=<guid>

So …/Pages/peopleresults.aspx?k=john&s=People&rm=0bba4d7d-4f2c-4086-975a-8f9d2b6c6d53 would return people results using the NameModel.

If you want to permanently alter the used ranking model, you have to adjust the Results Web Part. Follow these steps to modify the normal search:

  1. Export the Core Results Web Part.
  2. Add or modify the following property, for instance:
    <property name=”DefaultRankingModelID” type=”string”>0bba4d7d-4f2c-4086-975a-8f9d2b6c6d53</property>.
  3. Import and re-add the web part.

For people search, this unfortunately does not work very well. The People Core Results Web Part will reset your DefaultRankingModelID back to use the MainPeopleModel once you upload your web part. Just add a (hidden) Core Results Web Part to your page and configure the property that way.