Går det att sortera på och söka på olika intervall av metadatavärden?

2013-05-03

Kunskapsdatabasen, Sökning

I SiteSeeker kan du komplettera fritextsökning med sökning på strukturerad information, såsom pris, datum eller yta.

I SiteSeeker Admin kan du ange vilka metaattribut som ska användas och av vilken typ de är. Bland typerna finns heltal, strängar och datum. Metaattribut som har en typ angiven kallas typade metaattribut.

Du hittar inställningarna under Konfigurera > Servrar > Välj aktuell server > Metainformation under avancerade inställningar.

MetaattributAnge dina metaattribut i inställningarna SiteSeeker Admin

När typade metaattribut är indexerade redovisas dessa i indexeringsrapporten Typad metainformation. Du kan sedan söka och sortera på nedanstående sätt. Man behöver inte kräva av webbplatsbesökaren att denne ska kunna formulera sådana sökfrågor, utan de kommer förhoppningsvis ligga gömda bakom ett användarvänligt gränssnitt.

Exempel på sökfrågor

Sökfråga Sökresultat
meta:pris = 100 Sidor där metaattributet pris har värdet 100
meta:pris > 100 Sidor där metaattributet pris har ett värde som är större än 100
meta:pris >= 200 meta:pris <= 500 Sidor där metaattributet pris har ett värde mellan 200 och 500
meta:slutdatum < 2008-01-01 Sidor där metaattributet slutdatum av typen datum har värde som är före 1 januari 2008
meta:startdatum >= "8 juli 2007" Sidor där metaattributet startdatum av typen datum har ett värde som är tidigast 8 juli 2007
meta:startdatum >= 2010-11-22T12:00:000 AND meta:startdatum <= 2010-11-22T15:00:000 Sidor där metaattributet startdatum av typen datum ligger mellan klockan 12 och 15, 22 november 2010.
meta:ort = "Paris, Frankrike" Sidor där metaattributet ort har värdet Paris, Frankrike

Sökfrågor med olika sorteringsmöjligheter

Sökfråga med sorteringsordning Sökresultat
meta:yta > 10 Sidor där metaattributet yta är större än 10, sorterade på standardsorteringsordning för gränssnittet, vanligen relevans
meta:yta > 10 sort:meta:pris Sidor där metaattributet yta är större än 10, sorterade på metaattributet pris i stigande ordning
meta:yta > 10 sort:reverse:meta:pris Sidor där metaattributet yta är större än 10, sorterade på metaattributet pris i fallande ordning
meta:yta > 10 sort:meta:ort sort:meta:pris Sidor där metaattributet yta är större än 10, sorterade i första hand på metaattributet ort och in andra hand på metaattributet pris i stigande ordning
meta:typ:hus meta:värme != oljepanna (meta:färg = grön OR meta:färg = blå) meta:höjd >= 7,5 meta:fönster > 5 meta:fönster < 11 sort:reverse:meta:pris Sidor med alla blå eller gröna hus utan oljepanna som är minst 7,5 höga och har mellan 6 och 10 fönster sorterade med dyrast först

Så här kan man inte göra...

Sökfrågor som inte fungerar Förklaring
meta:area > meta:storlek Det går inte att jämföra olika metaattributvärden
meta:yta > 10 sort:meta:pris sort:meta:yta sort:meta:ort Det går inte att ange fler än två sorteringsordningar
meta:höjd * meta:bredd > 25 Det går inte att göra aritmetiska operationer
meta:startdatum >= 2010-11-22 12:00 Det går inte att ange ett klockslag utan att ange en fullt kvalificerad timestamp. (2010-11-22T12:00:000)
meta:datum > 1858-07-23 Det går inte att anv��nda datum tidigare än 1970-01-01 eller än 2037-12-31

Observera:

  • Det går inte att fritextsöka på typade metaattribut. Fritextsökningen fungerar endast med otypad metaattribut. Läs mer om skillnaderna mellan typade och otypade metaattribut.
  • Det går endast att söka på typade metaattribut som lagts till i Admin.
  • Ordböjning tillämpas inte på metaattribut av typen sträng. (Detta för att undvika "falska" träffar när attributvärdena är strängar som inte är "vanliga" ord utan identifikatorer eller id:n av olika slag.) Om du däremot använder "vanliga" otypade metaattribut (där värdena alltid är strängar), så tillämpas ordböjning
  • Stavningsförslag ges inte inte på termer som ingår i jämförelser, dvs. alla termer i exemplen ovan. Däremot ges stavningsförslag om du bara söker en metaattributterm utan en jämförelse, (t.ex. hus meta:ferg ger förslaget hus meta:färg).
  • Det är inte möjligt att ange trunkerade jämförelsevärden (med asterisk, *). Om du däremot använder otypade metaattribut (där värdena alltid är strängar), kan du söka på dessa med trunkering.
  • Från och med version 6.10.545 går det att ha med alla möjliga specialtecken inom citationstecken, t.ex:
    meta:category:"bygga, bo":"golv & tak"

Attributvärden i svaret för webbtjänstgränssnitt

Med webbtjänstgränssnittet kan SiteSeeker returnera typade metaattributvärden för varje träff. Denna funktionalitet är ofta mycket användbar, eftersom uppgifterna kan vara tidsödande, omständliga eller i praktiken omöjliga för sökgränssnittet att få fram vid presentationstillfället. Det senare kan exempelvis vara fallet när en träff gäller en webbsida som inte finns på samma server som söksidan finns på. För att få tillbaka värdena, gör så här:

Skicka ett objekt av typen doSearchRequest5 till SiteSeeker.doSearch(), och lägg till en sökparameter, (SearchParameter) med nyckel "metaAttributes" och värde "true" till doSearchRequest5.parameters[].

I söksvaret, i respektive träff (Hit), kommer sedan attributet Hit.metaAttributes (av typen MetaAttr[]) att returneras. Variabeln MetaAttr.name anger attributets namn (utan eventuell typ), och MetaAttr.value en sträng med dess värde/innehåll. (Se stycket nedan om hur typad metadata formateras.)

Notera att det krävs att WSDL-filen inläses på nytt för att ovanstående klasser och attribut ska bli tillgängliga.

Attributvärden av typen datum följer standarden ISO 8601, se mer om ISO 8601 på Wikipedia. Attributvärden av typen flyttal returneras med decimalpunkt, oavsett om punkt eller komma används som decimalmarkör i taggarna i webbsidorna. Inledande eller avslutande blanksteg i attributvärden av typen sträng tas bort, men gemener/versaler behålls från de påträffade värdena (jämförelser vid filtrering och sortering är dock skiftlägesokänslig).