Wednesday, October 30, 2013

Understanding SharePoint 2010 Search ranking model and tuning SharePoint People Search ranking

In search, relevance is about how closely the search results that are returned match the user’s  intent– or as outlined in About intent, recall, relevance and precision of search solutions – relevant results will help you achieve the goals that made you perform the search in the first place. It is therefore quite important that you don’t need to navigate through dozens of pages of search results and that you get the most relevant results listed on the top of your search results.

SharePoint 2010 search has standard 9 different relevancy ranking models defined, from which two are used by default. To get an overview of the different ranking models which are registered you can use the Get-SPEnterpriseSearchRankingModel PowerShell cmdlet.
Get-SPEnterpriseSearchRankingModel -SearchApplication "Search Service Application"


After running this command you will get an overview of the different available ranking models.



The two default ranking models that are used are MainResultsDefaultRankingModel and MainPeopleModel. You can see this by exporting the Core search results web part and the People search results webpart. For example when exporting the People search results webpart you will notice the following property



So let’s take a closer look at the MainPeopleModel – at first I thought that I could simply export a ranking model to XML in a similar fashion as outlined in Rank models in 2013 – Main differences

$peoplerankingmodel = Get-SPEnterpriseSearchRankingModel -SearchApplication $ssa -Owner $owner -Identity d9bfb1a1-9036-4627-83b2-bb9983ac8a1 
$peoplerankingmodel.RankingModelXML > peoplerankingmodel.xml


But unfortunately this XML returned seemed to be empty on my SharePoint 2010 environment – which seems to be behavior by design as explained in this blog post Accessing rank models in SharePoint 2010. But luckily you can also open the MSSRankingModels table in the Search Service Application database and take a look at the XML which is stored in the database.



Now let’s take a closer look at the XML which I copied out. As you see in the XML SharePoint Server 2010 also implements the BM25 ranking model which gives weights to certain fields (managed search properties) for dynamic ranking (This is a very simplistic explanation – for detailed explanation see Microsoft Cambridge at TREC-14: Enterprise track and Static Score Bucketing in Inverted Indexes )




You see a number of managed search properties which are being used – these actually map onto the following crawled properties.

Managed propertyMapped crawled property
RankingweightNamePeople:CombinedName,People:UserName,People:WorkEmail,People:AccountName,People:SPS-SipAddress
PreferredNamePeople:PreferredName
JobTitlePeople:SPS-JobTitle,People:Title,ows_JobTitle,ows_Job_x0020_Title
ResponsiblitiesPeople:SPS-Responsibility (Ask me about)
RankingWeightLowPeople:SPS-Skills, People:SPS-Interests
ContentsHiddenPeople:SPS-Location,People:Office,People:SPS-PastProjects,People:SPS-School, etc…
MembershipsPeople:Quicklinks
RankingWeightHighPeople:OrganizationNames,People:Department
PronunciationsPeople:SPS-FirstName,People:SPS-LastName,People:SPS-PreferredName,People:SPS-PhoneticFirstName, etc …

So you will probably notice that the People search will not take your own custom created user profile properties into account when doing a search for people. You will also notice that the user profile properties skills and interests are assigned the same weight from a relevance perspective since they both map onto the RankingWeightLow property.

It is however also possible to create your own ranking model based on the Ranking Model Schema definition (MSDN). But Microsoft will only allow you to customize certain parts of the search engine ranking algorithm (For SharePoint 2013 there is a lot more in depth documentation of the ranking models – check out Customizing ranking models to improve relevance in SharePoint 2013 ).

In the next example XML schema I added my own custom managed property Certifications and kept all of the other properties and weights for the different querydependent features.



To get at the internal id of the property (called pid in the example above) – you will need to use the Get-SPEnterpriseSearchMetadataManagedProperty PowerShell cmdlet. Besides the weight you can also specify lengthnormalization – a good explanation of this is found in Evaluation and customizing search relevance in SharePoint 2007 :

Modifying the length normalization setting applies only to properties that contain text. For example, consider a scenario where relevance is calculated for two content items containing the query term within the body of the content item, within a book, and within a document containing only a short paragraph. The book is likely to contain more instances of the query term, so it might receive a higher rank value, even if the shorter document is just as relevant to the user's search. The length normalization setting addresses this issue, providing consistency in ranking calculations for text properties, regardless of the amount of text within that property.

Next we will need to import our XML with the custom ranking model – you do this using the New-SPEnterpriseSearchRankingModel cmdlet.



The easiest way to test your new custom ranking model is by using a querystring parameter rm – like this http://jopx/searchcenter/peopleresults.aspx?k=yammer&rm=[ID of your ranking model]. In the screenshot below the People search will also take into account my own custom profile property - Certifications allowing me to search on them.



To use this new model in production, you can export the Core Results webpart, modify the RankingModel parameter and reimport the web part.

References:

Tuesday, October 15, 2013

Seminarie - Anders vergaderen, communiceren en samenwerken

Het nieuwe werken brengt twee belangrijke risico’s met zich mee, wanneer het té nauw geïnterpreteerd wordt. Minder innovatie en een lagere betrokkenheid. Twee valkuilen die een enorme impact hebben op het slagen of falen van de implementatie van een nieuwe werkplek. Drie succesfactoren zijn cruciaal: de juiste tools om mee te werken, een gepaste kantooromgeving en een gedrags- en cultuurwijziging, begeleid vanuit HR.

Tijdens dit Anders Vergaderen Event dompelen we u - wetenschappelijk onderbouwd door Professor P. Vink (TU Delft) - onder in de wereld van het nieuwe werken en zijn bottlenecks. Een combinatie van praktijkvoorbeelden, business sessies en het aan-den-lijve-ondervinden maakt dat het een boeiende voormiddag wordt, waarna u met een hoofd vol inzichten de herfstvakantie kunt  instappen.

Agenda

  • Het Nieuwe Werken vraagt om anders bijeenkomen  - Spreker: Peter Vink is hoogleraar aan de faculteit Industrieel Ontwerpen van de TU-Delft en houdt zich bezig met “environmental design”. Hij heeft meer dan 250 artikelen en boeken geschreven over het effect van de omgeving op comfort en prestatie.
  • Change management om resultaat te boeken Werkelijk resultaat boeken met het Nieuwe Werken lukt enkel als de invoering aangepakt wordt als een integraal verandertraject. Hierin is Acerta deskundig. Wij laten u graag kennismaken met onze changemanagement methodologie en toolbox. – Spreker: Veerle Theys, Director Change Management, Acerta
  • The connected company 66% van de CIOs zien efficiënte samenwerking als essentieel voor waarde creatie. Bovendien zijn het merendeel van de taken van kenniswerkers dermate complex geworden dat samenwerking tussen verschillende disciplines binnen een bedrijf en over bedrijven heen noodzakelijk is. RealDolmen ligt in deze sessie toe hoe technologie samenwerking kan ondersteunen en wat de valkuilen en best practices zijn bij de implementatie van samenwerkingsplatformen – Spreker Joris Poelmans Principal Consultant, RealDolmen
  • Het werkelijke connectieverhaal Hoe zorg je ervoor dat mensen elkaar ‘vinden’ op het werk? Buroncept begeleidde reeds Decathlon , Toyota, Taminco, Michael Page, Sony Music en Petercam naar hun ideale connectieplek. Spreker: Ines Van Obbergen, Project Consultant, Buroconcept

Datum
Vrijdag 25 oktober van 9.30 tot 14.00 uur.

Deelname is gratis. Voor annulaties na 18 oktober bedraagt de annulatiekost wel 50€.
Schrijf u hier in voor dit event.

 

Thursday, October 10, 2013

Co-authoring in SharePoint 2013 – things you should now

The co-authoring feature in SharePoint allows multiple users to work on a specific document simultaneously. This is enabled by a client-server technology which was first introduced in Office 2010 and SharePoint 2010 called Cobalt which allowed parts of an Office documents to be synchronized back to SharePoint. This technology was initially created to optimize network traffic from the clients to Office since Office would only send updates or the compressed differentiation (or delta) of the file back when saving a file.  
   Co-authoring is not supported on all of the Office documents in all of the different clients and it also seems that there is not a lot of change between 2010 and 2013. Things which might not seem so obvious:
  • There also does not seem any difference in co-authoring experience when you compare SharePoint 2013 with Office Web Apps and SharePoint 2010 with Office Web Apps.
  • For both SharePoint 2010 and SharePoint 2013 – no co-authoring available from Office clients (not in Excel 2010 nor in Excel 2013)
  • Co-authoring is available using the Excel Web Apps – both in SharePoint 2010 and SharePoint 2013
  • Co-authoring requires that the check-in/check out functionality is not enabled on SharePoint document libraries
  • Co-authoring will work in most browsers (Internet Explorer, Firefox, Safari and Chrome) and on most platforms.
  • Theoretically there is no limit on the number of users who can co-author a document.
  • Office 2010 users have the same set of co-authoring features when they open documents from SharePoint 2013 or SharePoint Online as they do when they open documents from a SharePoint 2010 document library. 
References:



Tuesday, October 01, 2013

Nominated as SharePoint MVP for 2013 – 9 times in a row

I just got the news that I have been renewed as SharePoint Server MVP. I became a SharePoint MVP in 2005 – so this is my 9th year in a row as SharePoint MVP (For those who don’t know what MVPs are check out http://mvp.microsoft.com/en-us/overview.aspx) . I like to say that I’m proud to be a part of such a great community.

As SharePoint developer,consultant, architect or system engineer it currently is an exciting time with the introduction of the SharePoint app model, the cloud first approach of Microsoft around SharePoint and the integration of great technologies such as FAST and Yammer. So reach out to your local community groups to learn from your peers and discuss the challenges and best practices around SharePoint and Yammer – be it on-premise or in the cloud.

If you are working with SharePoint and living in Belgium – definitely register yourself on the BIWUG site - http://www.biwug.be/ to stay up to date for the latest events.