Søgning i gentagne og i grupperede felter

Du kan bruge operatoren NÅR til søgning i gentagne og grupperede felter. NÅR er en OG operator, som kræver, at de to indtastede værdier skal findes i den samme post.

Kombinerede søgninger i gentagne felter

eksemplar.nummer i Biblioteksdatabasen er et gentagbart felt. Når man søger i gentagne felter, vil en kombineret søgning som f.eks.:

eksemplar.nummer > x OG eksemplar.nummer < y

give et andet resultat, end man umiddelbart skulle tro. Alle poster med mindst ét eksemplarnummer større end x og et (andet) eksemplarnummer mindre end y vil blive fremsøgt. Det skyldes, at systemet søger efter eksemplarnummeret på postniveau.

Hvis du kun vil fremsøge poster, hvor et enkelt eksemplarnummer både er større end x og mindre end y, skal du bruge operatoren NÅR:

eksemplar.nummer > x NÅR eksemplar.nummer < y

Dette vil fremsøge alle poster med mindst én eksemplarnummer-værdi mellem x og y.

Kombinerede søgninger i grupperede felter

Feltet Ophavsmand i museumsdatabasen er grupperet sammen med feltet ophavsmand.rolle.
M.C. Escher er gravør på nogle kobberstik, og han har også optrådt som trykker på nogle andre kobberstik. Hvis du vil fremsøge de kobberstik, hvor Escher var trykker, skriver du :

ophavsmand = escher* NÅR ophavsmand.rolle = trykker

Operatoren NÅR kan også bruges til at sammenligne værdier i forskellige felter og kombinere søgestrenge, så længe felterne er i samme gruppe, og så længe dette gøres per forekomst: i en NÅR kombination udføres implicit to søgninger gentagne gange og kombineres for den n'te forekomst for begge felter i disse søgninger.

Hvis der findes forskellige antal værdier på hver sider af NÅR, benyttes den sidste værdi på den korteste liste igen:

ophavsmand=escher*,anthonisz* NÅR ophavsmand.rolle=trykker,kunstner,gravør

er det samme som:

(ophavsmand = escher* NÅR ophavsmand.rolle = trykker) ELLER (ophavsmand = anthonisz* NÅR ophavsmand.rolle = kunstner) ELLER (ophavsmand = anthonisz* NÅR ophavsmand.rolle = gravør)

NÅR IKKE

NÅR IKKE fungerer på samme måde som NÅR, bortset fra at den første værdi skal forekomme, og den anden værdi må ikke forekomme i den samme (feltgruppe) forekomst, for eksempel:

ophavsmand = escher* NÅR IKKE ophavsmand.rolle = trykker

Denne søgning finder alle objektposter, som indeholder forekomster af Escher som ophavsmand, hvor den tilhørende rolle ikke er ‘trykker’, selv om posten indeholder en anden forekomst af Escher som ophavsmand med den tilhørende rolle ‘trykker’.

Begrænsninger for brug af NÅR og NÅR IKKE

NÅR eller NÅR IKKE kan kun optræde én gang i et søgeudtryk, f.eks.: <ligning> NÅR (IKKE) <ligning>. Det er ikke muligt at kombinere mere end to ligninger via flere NÅR.
Det er heller ikke muligt at benytte hierarkiske operatorer som underordnet, i kombination med NÅR.