Indeksering i Koha
Postet den 18. February 2010 | Skrevet av Magnus | Ingen kommentarer
For å gjøre bibliografiske poster i Koha søkbare benyttes indekserings- og søkesystemet Zebra (dokumentasjon) fra det danske firmaet IndexData. I utgangspunktet er Koha satt opp for å kunne indeksere MARC21 og UNIMARC. Siden NORMARC/BSMARC ligner mer på MARC21 enn på UNIMARC har Pode valgt å indeksere postene som har blitt importert inn i Koha som MARC21.
Hvordan indekseringen skjer, og hvordan de indekserte feltene blir søkbare, blir bestemt i et samspill mellom flere av Zebra sine konfigurasjonsfiler.
record.abs
Den første fila postene “støter på” når de skal indekseres av Koha er record.abs, som (blant annet) angir en mapping mellom MARC-felter og Zebras interne indekser. Oppbyggingen av denne fila er forklart i GRS-1 Record Model Configuration, i avsnittet The Abstract Syntax (.abs) Files. Her er et utdrag fra Koha sin record.abs for MARC21:
melm 020$a ISBN:w,Identifier-standard:w melm 020 Identifier-standard melm 022$a ISSN:w,Identifier-standard:w melm 022 Identifier-standard
“melm” angir at det er MARC-felter som skal behandles:
This directive is specifically for MARC-formatted records, ingested either in the form of MARCXML documents, or in the ISO2709/Z39.2 format using the grs.marcxml input filter. You can specify indexing rules for any subfield, or you can leave off the $subfield part and specify default rules for all subfields of the given field (note: default rules should come after any subfield-specific rules in the configuration file).
Her “mappes” innholdet i MARC-feltet 020$a til Zebra-indeksene “ISBN” og “Identifier-standard”, mens 022$a mappes til “ISSN” og “Identifier-standard”. Innholdet i hele 020 og 022, inkludert alle eventuelle delfelt, mappes til indeksen “Identifier-standard”.
“:w” etter navnet på en indeks angir at feltet skal ord-indekseres. Alternativer er frase eller numerisk.
bib1.att
Etter at Zebra har bygd opp sine interne indekser foretas det en mapping fra disse til Bib-1-attributter (se Bib-1 Attribute Set og Bib-1 semantics). Denne mappingen bestemmes av fila bib1.att. Her er et utdrag:
att 6 Title-uniform att 7 ISBN att 8 ISSN att 9 LC-card-number [...] att 1006 Author-name-conference att 1007 Identifier-standard att 1008 Subject-LC-childrens
Denne fila består rett og slett av to kolonner, der den venstre angir Bib-1-attributter og den høyre angir Zebra sine navngitte indekser.
Søking
Det er nå mulig å søke mot Bib-1-attributtene direkte, med RPN-notasjon:
find @or @attr 1=7 @attr 1=8 xyz
Her utføres det et søk etter xyz i Bib-1-attributtene 7 eller 8, som vi nå vet er mappet til henholdsvis indeksene “ISBN” og “ISSN”, som igjen er mappet til henholdsvis 020$a og 022$a.
Det er også mulig å foreta en ytterligere mapping, for å kunne bruke andre søke-syntakser enn RPN. Et eksempel på dette finner vi i fila pqf.properties, som bestemmer hvilke indekser som er søkbare fra SRU. Her er et utdrag:
index.dc.branch = 1=1033 index.dc.isbn = 1=7 index.dc.issn = 1=8 index.dc.any = 1=1016
Med disse innstillingene blir det mulig å avgrense et SRU-søk til ISBN-nummer (Bib-1-attributt 7) med denne syntaksen:
...&query=dc.isbn=xyz&...
Tilpassing til NORMARC
Podes erfaringer tilsier at det fungerer relativt greit å indeksere NORMARC med Koha sitt standard oppsett for indeksering av MARC21, fordi de to formatene er svært like på sentrale punkter. Et av de største savnene er indeksering av 019$b, som ikke er definert i NORMARC, men i BSMARC (PDF). En fremgangsmåte for å tilpasse indekseringen til NORMARC vil være som følger:
- Gå igjennom record.abs og fjerne MARC-felter som ikker definert i NORMARC.
- Legge til MARC-felter som finnes i NORMARC men ikke i MARC21, og som det kan være interessant å indeksere, i record.abs.
- Dersom det er indekser som ikke lenger er i bruk i record.abs – eller nye indekser som har blitt opprettet – må bib1.att oppdateres.
Plassering av filer
I en standard installasjon av Koha vil filene som er nevnt her være plassert på følgende steder:
- record.abs – /etc/koha/zebradb/marc_defs/marc21/biblios/record.abs
- bib1.att – /etc/koha/zebradb/biblios/etc/bib1.att
- pqf.properties – /etc/koha/zebradb/pqf.properties
Se også
- Artikkelen om Zebra i BibLab sin allmenning.
- Skriptet rel.pl fra LibrioTools som gjør det mulig å utforske sammenhengen mellom Koha/Zebra sine ulike indekser interaktivt.
Kommentarer
Legg igjen en kommentar