Facetterad sökning

2011-11-10

Söksidan, EPiServer, SiteVision

Det finns ofta en poäng med att kategorisera informationen på webbplatsen för att underlätta för en besökare. Den första sökfrågan som besökaren ställer är ofta av ganska generell natur - det är sen upp till sökmotorn att lotsa användaren fram till det urval träffar som bäst motsvarar intentionen med sökningen.

Ett sätt att åstadkomma detta är med så kallad facetterad sökning, där man efter att användaren ställt den första sökfrågan presenterar ett antal kategorier som användaren kan begränsa sin sökning till. Finns det stora mängder information på webbplatsen kan man också kategorisera i flera led, och på så sätt möjliggöra för användaren att ytterligare precisera sin sökfråga.

Användarbehov

Som användare av sökfunktionen har man ofta ganska begränsad kunskap om vilken information som finns på webbplatsen. Den första sökningen man utför är därför ofta ägnad åt att få en generell uppfattning om vad för slags information som står att finna på webbplatsen och hur sökfunktionen fungerar. En av utmaningarna för den som designar söksidan är att fånga upp dessa användare och lotsa dem till rätt information.

Målet bör vara att inleda en dialog med användaren, där användaren ställer en sökfråga som leder till ett antal träffar, men även till en möjlighet att precisera sökfråga genom att välja på ett antal kategorier som visas på söksidan som facetter.

Lösningar

Kategorier kan visas i flikar

Facetter kan exempelvis placeras som flikar på söksidan, som gjorts i detta exempel. I varje flik visas hur många träffar en sökning inom endast den kategorin skulle generera.

Tvåstegsfiltrering

Bilden ovan visar ett exempel på kategorisering i flera led med hjälp av kategorigrupper. Tanken är att användaren ges möjlighet att begränsa träffmängden utifrån flera kriterier, här genom sökning i en viss sidtyp och i ett visst ämne. Den användare som söker en publikation om radon från 2009 slipper alltså leta sig igenom 227 sidor för att hitta de som är relevanta ‒ väljer man att begränsa sig till både Publikationer och Publiceringsår 2009 återstår bara sju sidor för sökfrågan radon.

Begränsningar/utmaningar

En enkel söksida är oftast att föredra framför en mer komplex ‒ det är därför viktigt att facetterna utformas så att de upplevs som ett komplement och stöd för den som önskar använda dem.

Ofta kan SiteSeeker hitta rätt dokument utan att användaren behöver använda facetter. Blir antalet träffar vid vanliga sökfrågor hanterligt redan utan facetter behöver man i regel inte använda dem.

Kategorier i fler än två steg

SiteSeeker har i dagsläget inget inbyggt stöd för att bygga hierarkiska kategorier i fler än två nivåer. Den teknik som finns idag kallas tvåstegsfiltrering, dvs. man kan ha kategorigrupper med en endast en nivå av underkategorier. Man kan dock strunta i att SiteSeeker inte känner till kategoristrukturen, och istället hålla ordning på nivåerna själv genom en särskild namngivning. Gränssnittet behöver då kunna analysera kategoriernas namn för att visa dem på rätt sätt, dvs. genom att tolka strängnamnen enligt vissa förutbestämda regler.

Här kommer ett litet exempel. Säg att det finns en kategori kallad Målning. Målning kan i sin tur delas in i: Innefärg, Utefärg och Målarverktyg. Utefärg kan sedan delas in i Lasera trä och Måla trä, Innefärg i Vägg och Tak, och Målarverktyg innehåller i sin tur kategorierna Penslar och Rollrar. Detta skulle ge följande träd:

KategorierSkiss över kategorin Målning

Tanken är att kategorierna döps efter vilken sökväg de har. Kategorin penslar skulle alltså kunna få namnet: målning|målarverktyg|penslar

En sida/produkt i kategorin penslar skulle behöva följande metataggar för att detta skulle fungera:

<meta name="category" content="kategori;målning" />
<meta name="category" content="kategori;målning|målarverktyg" />
<meta name="category" content="kategori;målning|målarverktyg|penslar" />

(kategori blir facetten sidorna tillhör, dvs. vilken kategorigrupp de tillhör ex. produkter)

Det finns två olika sätt att göra en filtrering när man klickar sig ned i trädet. Om man filtrerar m.h.a. en frågeextension kommer endast de kategorier som innehåller något att visas och om man filtrerar som man vanligtvis gör i träfföversikten kommer man få antalet träffar (oavsett kategorifiltrering) för alla kategorier.

En utmaning (det finns flera...) med den här lösningen är att man måste säkerställa att alla sidor kategoriseras rätt. Lösningen ställer alltså höga krav på implementatören så att verkligen alla taggar i hierarkin skrivs ut på varje sida. Vidare måste man ha en metod för att veta hur trädet ska fällas ut givet att man stegar sig ned i det samt se till att kategorinamnen skrivs ut på rätt sätt på träffsidan.