Podes prosjektblogg

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:

  1. Gå igjennom record.abs og fjerne MARC-felter som ikker definert i NORMARC.
  2. Legge til MARC-felter som finnes i NORMARC men ikke i MARC21, og som det kan være interessant å indeksere, i record.abs.
  3. 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





  • RSS Linked data

  • RSS Semantic web

  • RSS FRBR

  • RSS Eksempler på mashups

  • RSS Tilgjengelig innhold

  • RSS Eksempler på katalogsøk (både trad og sosiale SOPAC

  • RSS Eksempler på systemer/produkter i bruk

  • RSS Fakta om/dokumentasjon av systemer/produkter

  • RSS Eksempler på biblioteksider