Wanneer je een zoekopdracht via SharePoint Search ingeeft, kunnen de resultaten weleens anders zijn dan je had gehoopt. In deze blog beschrijf ik hoe SharePoint Search de volgorde van de zoekresultaten bepaalt en hoe je deze volgorde (Ranking) kunt beïnvloeden.

Blog Vincent - Ranking

Wat is ranking?

Ranking is de waardering tussen een set items. Deze waardering komt tot stand door een algoritme, waardoor een item een hogere, lagere of gelijke waardering krijgt ten opzichte van een item uit dezelfde set. In deze blog ga ik verder niet in op het algoritme. (indien er behoefte is, kan dit nagelezen worden op de blog van Alexey Kozhemiakin’s.

Ranking models

Een ranking model bevat het algoritme van ranking. SharePoint komt standaard met diverse ranking models, waarvan twee het meest gebruikt. Namelijk die voor het zoeken door alle content en die voor de people search. Tevens bestaat de mogelijkheid om zelf custom ranking models te ontwikkelen. Let wel op, dit is een complexe aangelegenheid.

Statics / Dynamics

Binnen een ranking model wordt er een waarde gekoppeld aan diverse eigenschappen waarop jouw inhoud gevonden kan worden. Deze type waarderingen zijn te verdelen in twee typen,
Dynamics en Statics.

Dynamics zijn waarderingen, die beïnvloed worden door de ingevoerde zoekopdracht. Hiermee wil ik zeggen dat wanneer je zoekt op “dog”, er gezocht wordt binnen de “waardes” van de Dynamics. De Dynamics die gedefinieerd zijn binnen de “default ranking model” zijn:

  • Title
  • Author
  • Filename
  • SocialTags
  • AnchorText
  • Body

Statics zijn scores waarop de ingevoerde zoekterm geen invloed op heeft. In het default ranking model zijn de volgende statics aanwezig:

Filetype ppt, site, doc, html, listitems, image, messages, xls, txt, xml
Language Indien taal van het item overeenkomt met de locals van de client, scoort dit document hoger in de ranking.
ClickDistance Aantal clicks vanaf een authoratative page tot aan het resultaat.
URLDepth Aantal slashes in de URL
LogClicks Aantal keer dat op een item is geklikt via zoekresultaten
LogSkips Aantal keer dat een item in resultaten is verschenen, maar niet op is geklikt.
LogLastClicks Laatste keer dat een item is geopend vanuit zoekresultaten.
Eventrate Aantal keer dat een item is geopend, buiten de zoekresultaten om.

Context / Weight groups

Bij de Dynamics valt één ding op. De lijst is eigenlijk maar zeer beperkt. Wat nu, als ik een eigen metadata veld mee wilt laten gelden aan de ranking?

Voeg je een custom metadata veld toe, dan zal deze standaard een ranking van 0 krijgen. Dit betekent dat deze dus geen positieve ranking, maar ook géén negatieve ranking krijgt. Kort gezegd, standaard telt een custom metadataveld niet mee voor de ranking.

Dit is op te lossen door aan het custom metadataveld een contextwaarde (of weightgroup) mee te geven. Op basis van deze contextwaarde, geef je het custom metadataveld een relatieve waardering.

Standaard geeft SharePoint de volgende context waardes (wederom, ik neem hier alleen diegene die belangrijk zijn voor het “default ranking model).

Managed property Rankingscore Context
Title 0.361 1
Author 0.019 5
Filename 0.151 2
SocialTags 0.102 14
AnchorText 0.022 6
Body 0.019 7

Uit bovenstaande tabel blijkt dat de Title dus erg belangrijk is voor de ranking. Indien je een custom managed property hebt die net zo belangrijk is als de Title, dan geef je deze de contextwaarde 1 mee.

Indien de contextwaarden niet volstaan, dan zou een ander of custom ranking model wellicht volstaan.

Authoritative pages

De static “ClickDistance” bepaald de score aan de hand van hoeveel clicks het item verwijderd is van een “authoritative page. Met een authoritative page, geef je aan welke content belangrijk is. Wanneer bijvoorbeeld je knowledgebase diep genest zit binnen je sitestructuur, dan wordt deze content standaard lager geranked dan de content welke op je startpagina staat. Door deze knowledgebase toe te voegen als “authoritative page” komt deze content hoger in de ranking.

Er zijn vier niveaus van authoritative pages:
– Most
– Second level
– Third level
– Demote (met dit niveau geef je een negatieve score aan de content)

Conclusie

Zelf kan je, ook zonder technische kennis, de ranking dus beïnvloeden. Dit kan door gebruik te maken van de contextwaardes en de authoritative pages. Indien dit niet voldoende resultaat geeft, kan er altijd gekozen worden om een ander ranking model te kiezen, of er zelfs custom één te ontwikkelen (complex en technisch).

In een latere blog zal ik wat meer vertellen over mogelijkheden om de eindgebruiker te sturen naar het gewenste zoekresultaat. Dit kan middels Query suggestions, Promoted resuls en results blocks.