Datumhantering i SiteSeeker

2011-08-09

SiteSeeker Admin, Indexering, Söksidan, EPiServer, Sökning

Detta dokument beskriver de olika sätt du kan indexera datum med SiteSeeker, vilken betydelse de har vid rankning och sortering, och hur du definierar egna datumattribut.

Dokumentet beskriver också hur SiteSeeker i kombination med webbservern kan effektivisera sidhämtningen och optimera resursanvändningen på webbservern.

Datum i sökningen

Det finns fyra huvudsakliga användningsområden i SiteSeeker för datum:

  • Datum som underlag för rankning
    Objekt som är nyare ges i allmänhet en lite högre rank då sökresultat sorteras efter relevans, och generellt är detta extra önskvärt då det handlar om nyheter.
  • Datum som underlag för sortering
    I en del fall är det önskvärt att låta användaren sortera träffar efter datum, och i enstaka fall kan det vara önskvärt att alltid sortera en träfflista efter datum (till exempel då man skapar en dynamisk lista för nyheter).
  • Datum som underlag för filtrering
    När det gäller sökning på exempelvis nyheter eller blogginlägg är det ofta önskvärt att som användare kunna visa nyheter/inlägg endast från senaste veckan, senaste månaden eller liknande, och för publikationer av olika slag kan det vara önskvärt att kunna ange ett godtyckligt datumintervall.
  • Datum för optimering av sidhämtning
    SiteSeeker använder, i det fall sådana finns, objekts tekniska modifieringsdatum (Last-Modified) för att optimera sidhämtningen. Detta görs genom att SiteSeeker, då objektet undersöks nästkommande indexering, kan meddela webbservern att objektet bara ska skickas om det har ändrats efter senaste indexering. Detta kräver alltså stöd också från webbservern.

Olika typer av datuminformation

Ett datum behöver en mening för att kunna tolkas – det kan röra sig om ett publiceringsdatum, eller gällandedatum, ett ändringsdatum, ett tilläggsdatum, etc. Vilken mening ett visst datum har kan framgå t.ex. av namnet på en metatagg i en webbsida, eller namnet på en egenskap i publiceringsverktyget. Ett indexerat objekt kan alltså ha många olika datum förknippade med sig.

I SiteSeeker Admin går det att ange ett par olika typer av datumattribut: ändringsdatum, publiceringsdatum och Last-Modified (tekniskt ändringsdatum).

Det går också att i SiteSeeker Admin ange godtyckliga strukturerade attribut, vilka kan vara av datumformat.

Hur SiteSeeker använder olika typer av datumattribut

I SiteSeeker finns inbyggda funktioner för att ranka med hjälp av datum, sortera på datum och filtrera på datum. Dessa funktioner kan dock endast använda ett datumattribut – det går alltså inte med de inbyggda funktioner att sortera antingen på publiceringsdatum eller på ändringsdatum.

För rankning, sortering, filtrering och visning används i första hand ändringsdatum, om sådant saknas används publiceringsdatum, och om även detta saknas används Last-Modified. Det datum som i standardmallar visas i träffresultatet är också samma datum som används för sortering, filtrering och rankning.

För optimering av sidhämtning används alltid egenskapen Last-Modified (om den finns i det indexerade objektet), övriga datumattribut används inte.

Det går också att med hjälp av speciella operatorer i sökfrågan filtrera eller sortera träffarna på strukturerade attribut, också kallat typad metadata. Med hjälp av dessa kan man också sortera träffar i stigande ordning efter datum. Läs mer om filtrering och sortering på strukturerad data i Tekniker - Strukturerad sökning i sökintegrationen för EPiServer.

Sortering och filtrering på datum

I SiteSeekers webbtjänst-API liksom i sökintegrationen för .NET och EPiServer kan du ange att träffar ska sorteras på datum. Träffarna kommer då sorteras i fallande ordning, dvs. med det nyaste objektet först i träfflistan.

.NET:

SiteSeeker.Model.SearchRequest.SortOrder = SiteSeeker.Model.SortOrder.Date; // Date

Web service:

SearchRequest.sortOrder = 2; // Date

Det är också möjligt att använda sig av typad metadata för filtrering och sortering på datum, se nedan.

Optimering av sidhämtning

För att optimera sidhämtningen kommer SiteSeeker att skicka HTTP-headern If-Modifed-Since då ett redan cachat objekt undersöks på nytt (detta görs normalt en gång per dygn under den schemalagda indexeringen). I denna header kommer SiteSeeker att sända det Last-Modified-datum som har registrerats för objektet.

Ett korrekt Last-Modified-datum är alltså en förutsättning för att If-Modified-Since ska fungera. Om If-Modified-Since används med inkorrekta modifieringsdatum kan detta göra att SiteSeekers cachade sidor inte uppdateras korrekt, med effekten att ändringar på webbplatsen inte blir sökbara.

Läs mer om If-Modified-Since i artikeln Varför är det så viktigt att våra webbservrar stödjer If-modified-since.