Liturgisk ressursbank:Søking
Man søker ved å bruke tekstboksen til venstre. Denne boksen har to separate søkefunksjoner; en funksjon for å gå rett til en artikkel med en tittel som er sammenfallende med søkeuttrykket, og en for å bruke søkeuttrykket som et argument til Wikipedias interne søkemotor. I begge tilfellene vil søkene skje uten hensyn til store og små bokstaver.
Det er også mulig å bruke søkefunksjonen til å opprette nye artikler; dette er særlig praktisk for titler som inneholder bokstaver som Æ, Ø og Å. Skriv inn tittelen på artikkelen du ønsker deg og følg lenken på siden du får når du deretter lager den nye artikkelen.
Funksjonalitet som finnes i Lucene er beskrevet i teksten, men der det er påvist at funksjonaliteten ikke er aktivisert er teksten grået ut.
Som alle søkemotorer har Lucene en stoppordliste. Denne gjør at søk på en del svært vanlige ord ikke vil gi det ønskede resultat. Et søk på det er ikke alt som er gitt består av kun vanlige ord og alle ord blir fjernet av stoppordlisten. Det ser ikke ut som om stoppordlisten er aktiv i en del testsøk.
Innhold
Spørrespråk
Hva er de aktuelle feltene? Det kan se ut som om «key», «namespace», «title», «contents» og «metadata.id» finnes. For den siste er «id» navnet som brukes på metadataoppføringen. Det er flere data som burde vært indeksert og som ikke er det for øyeblikket.
Wikipedias interne søkemotor er Lucene, som har et omfattende spørrespråk. Ved å bruke dette kan det settes opp komplekse søk for å finne begreper som ikke dekkes av enkeltord.
Søkeuttrykk kan deles i enkeltord, og sammensatte fraser.
stavkirke urnes stavkirke
Første søket er på et enkeltord. det neste er på to enkeltord som begge skal forekomme i teksten.
Et frasesøk omsluttes med doble hermetegn (") og skrives slik det skal forekomme i teksten.
"urnes stavkirke"
Det foregående er en frase hvor begge søkeordene skal forekomme og i gitt rekkefølge og umiddelbart etter hverandre.
Søk kan også rettes mot spesielle felt, slik som title.
title:stavkirke title:"urnes stavkirke"
Feltene som det kan rettes søk mot er title, …
Boolske operatorer
- Det kan se ut som om navnet på operattoren ikke fungerer som forutsatt
Boolske operatorer brukes for å kombinere søketermer med logiske operasjoner. Operatorene som er tilgjengelig er AND «&&», «+», OR «||», NOT «!» og «-». Når navnet brukes så må dette være i store bokstaver.
OR eller ||
Eksemplene på søk burde gi samme resultat men det siste eksemplet gir et avvikende svar i forhold til det som sies i dokumentasjonen til Lucene. Det siste eksemplet gir vesentlig færre treff enn de første.
Den boolske operatoren OR er standardoperatoren. Det betyr at står det ikke noen operator mellom to termer som kombineres så antar Lucene at det skal stå en OR mellom dem.
Operatoren kan ses på som en set-operator hvor resultatet er unionen av de to settene.
kirke OR kapell kirke || kapell kirke kapell
AND eller &&
Den boolske operatoren AND gjør at begge termer må forekomme for at det skal listes et treff. Operatoren kan ses på som som en set-operator hvor resultatet er interseksjonen mellom de to settene.
kirke AND Grosch kirke && Grosch
+
Plussoperatoren inkluderer dokumenter som inneholder termen som kommer etter operatoren. Den vanlige tolkingen er at den etterfølgende termen skal være innenfor samme felt som termen på venstre side treffer.
kirke -kapell
NOT eller !
Denne operatoren kan enklest ses på som en and not, den tar resultatet av det venstre uttrykket og fjerner det som er i det høyre uttrykket etter at settet er negert. Operatoren kan ses på som en subtraksjon av elementene i det siste settet fra elementene i det første.
kirke NOT Grosch kirke ! Grosch
Merkelig nok er det andre artikler om kirker som ikke nevner Grosch!
-
Minusoperatoren eller forbudsoperatoren ekskluderer dokumenter som inneholder termen som kommer etter operatoren. Den vanlige tolkingen er at den etterfølgende termen skal være innenfor samme felt som termen på venstre side treffer, til forskjell fra eksklusjonsoperatoren hvor termen kan finnes i et vilkårlig felt.
kirke -kapell
Gruppering
Søk i Lucene bruker parentesen både for å gruppere enkeltspørringer og for å gruppere spørringer på et enkelt felt.
- Parenteser og boolske spørring
Hvis du søker på kirker i en kommune så finnes det både kirker og kapeller. Dette vil gjøre at en normalt må sette opp flere spørringer. Ved å bruke parenteser og boolske operatorer så kan en slå dette sammen i ett søk
(kirke* OR kapell*) AND Luster (kirke* kapell*) && Luster
I dette tilfellet ser en etter både kirker og kapeller i Luster. Nå vil ikke dette søket være helt ideelt da en ikke finner gravkapeller og stavkirker.
- Parenteser og feltoperatoren
Parenteser kan også kombineres med feltoperatoren. Da vil søket innen parentesen gjelde for det angitte feltet
title:(Vang kirke)
Modifikatorer
Det finnes noen modifikatorer som endrer hvordan søkestrengen tolkes
Wildcard søk
Enkeltbokstaver og deler av ord kan erstattes med ? eller * for å markere at disse fragmentene er ukjente og at flere enn ett ord kan gi en treff.
stavkirke? stavkirke*
Det første søket vil finne stavkirken og stavkirker men ikke stavkirkene. Den siste formen vil også finne stavkirkene. Det er også mulig å sette en slik wildcard inne i ordet, men ikke i begynnelsen av ordet.
stav*en
Denne vil i tillegg til stavkirken finne staven, stavdalen og stavedalen.
Fuzzy søk
Hvilken versjon av Lucene bruker Wikipedia? Versjon 1.4, eller versjon 1.9? Er ikke fuzzy søk enablet eller fungerer ikke dette av andre grunner? Søket som er skissert skal finne artiklene Stavdalen og Stavedalen, finner det ikke begge så fungerer det ikke.
Søkemotoren bruker en form for fuzzy algoritme som baserer seg på Levenshtein avstanden eller redigeringsavstanden mellom to begreper. En avstand på 1 vil si at det må foretas 1 redigering for å nå det andre begrepet. En avstand på 2 vil si at det må gjøres 2 redigeringer for å nå det andre begrepet. Fra begrepet stavkirken er det en avstand på 1 til begrepet stavkirker og en avstand på 4 til stavdalen.
For å gjøre et fuzzy søk kan en legge til en tilde «~» etter begrepet en søker på.
stavdal~
Dette søket vil finne stavdal, stavdalen og stavdaling, men også stavedal, stavedalen og stavedaling.
Det er også mulig å angi en faktor for likhet mellom uttrykk. Verdien skal være mellom 0 og 1, og jo nærmere 1 desto likere må uttrykkene være.
stavdal~0.8
Standardverdien som brukes er 0,5 hvis ikke noe annet blir angitt.
Nærhetssøk
Det er mulig å finne ord med en spesifikk avstand mellom seg. For å gjøre et slikt søk brukes det en tild «~» og et heltall som angir hvor langt disse kan være fra hverandre
"middelalderkirke romansk"~10
Områdesøk
Hvilken versjon av Lucene bruker Wikipedia? Versjon 1.4, eller versjon 1.9? Er ikke fuzzy søk enablet eller fungerer ikke dette av andre grunner? Uten å kjenne hva felt søk rettes mot er det umulig å bruke dette til noe fornuftig, med ett unntak, hvis navn oppgis på invertert form kan en ta ut enkle navnelister.
Verdier er noen ganger innenfor et intervall, og det eneste en vet er en øvre og nedre grense for dette intervallet. Slike områdesøk kan være inkluderende eller ekskluderende på øvre og nedre grenseverdi. Sorteringen innen intervallet er alfabetisk, er intervallet numerisk så vil dette ikke utløse en nummeris sortering.
mod_date:[20020101 TO 20030101]
Dette søket finner dokumenter som har en verdi i mod_date feltet mellom 20020101 og 20030101, og hvor grenseverdiene er tatt med i utvalget. Områdesøk er ikke begrenset til numeriske søk, en kan også bruke ordinære begreper
title:{Arne TO Ola}
Dette vil finne alle dokumenter hvor tittelen er mellom Arne og Ola, men vil ikke ta med hverken Arne eller Ola.
Inklusive områder er gitt med firkantklammer, eksklusive med krøllparanteser.
Boosting av søkeord
Dårlige eksempler da periodebegrepene dukker opp i kirkeboksen.
Normalt er alle søkebegrep likt vektet, men enkelte søkebegrep kan vektes opp på bekostning av andre. For å booste enkelte begrep så brukes en caret «^» med en boost faktor umiddelbart etter søkebegrepet. desto høyere boost faktor, desto viktigere vil disse treffene bli ansett for å være.
Slik boosting gjør det mulig å kontrollere relevansrankingen til dokumentene i resultatsettet ved at de enkalte begrepene blir vektet forskjellig. Hvis du søker på arkitektur og leter etter sider fra den romanske og den gotiske perioden så vil et søk på
romansk gotisk
være et naturlig førstevalg for de fleste. Hvis det er spesielle forhold som gjør noen av artiklene mer aktuelle enn andre, for eksempel de romanske, så kan søket endres slik at disse artiklene boostes
romansk^4 gotisk
I dette tilfellet vil romansk vektes opp på bekostning av gotisk.
Det er også mulig å bruke dette med sammensatte begrep
"romansk arkitektur"^4 "gotisk arkitektur"
Som standard er boostfaktoren satt til 1. Den må være positiv, men den kan settes mindre enn 1, for eksempel til 0.2 for å redusere innflytelsen av ett bestemt ord sammenlignet med andre i søkebegrepet.
Escaping spesielle tegn
Lucene bruker en del spesielle tegn i søkeuttrykkene og en trenger derfor i noen tilfeller å kunne escape disse hvis de inngår i det en søker på. Disse tegnene er + - && || ! ( ) { } [ ] ^ " ~ * ? : \
For å escape et spesielt tegn så settes en «omvendt brøkstrek» foran tegnet. For å søke på (1+1):2 så vil en da få en søkestreng
\(1\+1\)\:2
Det er verd å merke seg at det er relativt sjelden en behøver å escape tegn. Hvis en har et søk hvor en må dette så er det godt mulig at en prøver å løse problemet på feil måte.
Avanserte eksempler
- En del av disse eksemplene bruker funksjonalitet som for tiden ikke er påslått
Søk etter mannsnavn
mansnavn && title:{Arne TO Ola}
Oppdatering av indeksene til søkemotoren
Indeksene til søkemotoren oppdateres ved periodiske kjøringer, og det kan ta noe tid mellom hver kjøring. Dette gjør at fra en artikkel er skrevet og til den kan søkes opp vil det kunne ta relativt lang tid.