Facetterad sökning

2012-07-19

Söksidan, EPiServer, SiteVision

Den första sökfrågan som en besökare ställer är ofta av ganska generell natur och det finns behov av att hjälpa besökaren att borra sig ned i träffarna. Facetterad sökning är ett väl etablerat designmönster för att guida användaren till de resultat som hon förväntar sig. För e-handel och produktkataloger ger det desutom oöverträffade möjligheter till snabba och exakta urval.

Facetterad sökning innebär att 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.

Detta dokument beskriver hur du implementerar flikfacetter.

Observera att lösningen kräver SiteSeeker 6.10 eller senare och SiteSeekers integrationsmodul version 4.2.0.32 eller senare.

Konfiguration

Det finns två sätt att konfigurera sökindexet och specificera hur olika facetter/kategorigrupper skall behandlas av SiteSeeker (flik-, snitt-, enkelvals- eller flervalsfacett). Detta kan antingen göras i web.config eller programmatiskt. Nedan beskrivs båda tillvägagångssätten.

1. Web.config

Uppdatera din web.config-file med följande attribut:

tabFacets: Sätts till "true" om om värdena i facetten "Kategori/Category" skall visas som flikar på söksidan.

intersectionFacets: Specificera vilken/vilka facetter som skall fungera som snittfacetter. Flera facetter avgränsas med hjälp av "|".

multipleChoiceFacets: Specificera vilken/vilka facetter som skall fungera som flervalsfacetter. Flera facetter avgränsas med hjälp av "|".

Facetter/kategorigrupper inte anges som antingen intersectionFacets eller multipleChoiceFacets kommer behandlas som enkelvalsfacetter.

Exempel:

<add name="exampleSearchIndex" displayName="the example index" url="http://siteseeker-knowledgebase.siteseeker.se/ws/siteseeker-knowledgebase/" userName="ws" password="gnus5/dopier" intersectionFacets="Kunskapsdatabasen" multipleChoiceFacets="" tabFacets="true"/>

2. Programmatiskt

Sökindexet kan även konfigureras programmatiskt, exempelvis enligt nedanstående exempel:

var searchIndexConfiguration = new SiteSeekerSearchIndexConfiguration("exampleSearchIndex1", "the example index", "http://siteseeker-knowledgebase.siteseeker.se/ws/siteseeker-knowledgebase/", "ws", "gnus5/dopier", "searchpage");
            
//configure faceted search
searchIndexConfiguration.TabFacets = true;
searchIndexConfiguration.IntersectionFacets = "Kunskapsdatabasen";
searchIndexConfiguration.MultipleChoiceFacets = string.Empty;

var siteSeekerConfiguration = new EPiServerSiteSeekerConfiguration()
siteSeekerConfiguration.RegisterSearchIndex(searchIndexConfiguration);  
BootStrapper.Initialize(siteSeekerConfiguration);

Tänk på att namnet på sökindexet måste vara unikt och inte får vara samma som ett index definerat i web.config. I så fall kommer följande fel att ges:

Component SiteSeeker.Extensions.Internal.SiteSeekerSearchIndexConfiguration could not be registered. There is already a component with that name. Did you want to modify the existing component instead? If not, make sure you specify a unique name.

Om EPiServer inte används skall EPiServerSiteSeekerConfiguration() bytas ut mot SiteSeekerConfiguration() enligt nedan:

var siteSeekerConfiguration = new SiteSeekerConfiguration();

Söksida

  1. För att rendera flikfacetterna på söksidan, lägg till följande på din söksida:
    <%= helpers.BeginFacetTabs(Model.Results.First()) %> 
    <div id="tabfacetcontent">
    <%=helpers.ResultFacetList(Model.Results.First()) %>
    <%=helpers.Result(Model.Results.First())%>    
    </div>
    
  2. Inkludera stilmallen "siteseeker-example-site-tabs.css" (finns inkluderad i WebForms-exemplet som går att ladda ner från partnerportalen).
    <link href="siteseeker-example-site-tabs.css" rel="stylesheet" type="text/css" />