Metasuche mit pazpar2

Veröffentlicht am von in der Kategorie Technik.

Die SUB Göttingen benötigt verschiedene Metasuchen: für die virtuellen Fachbibliotheken Lib AAC, GEO-LEO und vifamath sowie eine Suche nach Artikeln auf ihrer Website. Bislang beruhten diese Suchen auf OCLC iPort und bei GEO-LEO auf einer selbstentwickelten Lösung.

Beide Lösungen haben ähnliche Nachteile, die den Weiterbetrieb der Suchen erschweren. Zum einen ist die Software alt und ohne Support: auftretende Probleme können nur mit viel Aufwand gelöst werden und Updates der Systemumgebungen sind mit Vorsicht zu genießen. Zum anderen sind beide Lösungen fest mit den zugehörigen – und ebenfalls recht alten – Benutzeroberflächen verbunden. Eine Veränderung der zugehörigen Website müsste also auf die Metasuche Rücksicht nehmen, oder mit viel Aufwand das in HTML gegossene Interface der Metasuche aus der alten Site herauslösen und in die neue einfügen. Im Falle von iPort wurde genau das probiert. Es ist aber ein aufwendiger, fehleranfälliger und nervenaufreibender Prozess. Ebenso aufwendig sind Bemühungen, den alten Metasuchlösungen modernere Benutzeroberflächen hinzuzufügen.

Auf der Suche nach einer neuen Metasuchlösung fiel der Blick auf pazpar2. Als reiner Metasuchdienst läuft die Software unabhängig von einer bestimmten Benutzeroberfläche. Die Software ist Open Source und wird vom Hersteller Index Data aktiv entwickelt.

Was tut pazpar2?

In pazpar2 können verschiedene Dienste konfiguriert werden. Jeder Dienst faßt ausgewählte Katalogue zusammen und definiert die abfragbaren Indizes und Metadatenfelder für sie. Datenquellen können über die bibliographischen Schnittstellen Z39.50 und SRU abgefragt werden. Eine direkte Abfrage von Solr Indizes ist auch möglich.

pazpar2 arbeitet intern mit XML-Daten. Es kann XML Daten lesen und konvertiert ISO 2709 (Marc Binärformat) Datensätze beim Einlesen in Marc XML. Andere Datenformate wie binäres MAB oder unformatierten Text (SUTRS) kann pazpar2 nicht lesen.

Nach der Abfrage bearbeitet pazpar2 die Daten mit XSL Transformationen um sie in ein internes Datenformat zu konvertieren. Die Felder dieses Formats können selbst gewählt werden. Sinnvolle Standardeinstellungen hierfür werden mitgeliefert, ebenso wie XSL Transformationen für das Auslesen einiger Standardformate. Insbesondere die Unterstützung für das Marc Format ist sehr gut. Bei ungewöhnlichen oder eigenen XML Formaten – z.B. eigene Solr Felder – muß eine eigene XSL Transformation angelegt werden, die das Mapping auf das interne Datenformat durchführt.

Die Felder des internen Datenformats gibt pazpar2 an die abfragende Software weiter. Sie können so für die Anzeige oder weitere Features wie Exportformate genutzt werden. Weiterhin können diese Felder zur Deduplizierung und Facettierung der Ergebnisse genutzt werden.

Die Kommunikation mit pazpar2 erfolgt über eine http Schnittstelle, die im XML Format antwortet. Hierüber lassen sich Abfragen stellen, die Ergebnisse abrufen und Statusinformationen anfragen, die für die Anzeige benötigt werden. So läßt sich pazpar2 leicht in Webseiten nutzen und ermöglicht einen im Vergleich zu älteren Lösungen sehr schnelle und dynamische Anzeige der Ergebnisse.

Ergebnisanzeige

Ergebnisanzeige in der pazpar2-TYPO3 Extension

Da sich der pazpar2-Dienst auf die Daten konzentriert, ist die Anzeige der Suchergebnisse kein Teil der Software. Sie muß clientseitig aus dem internen Metadatenformat umgesetzt werden. Das ist zusätzliche Arbeit, hat aber den Vorteil der klaren Trennung der Metasuchsoftware von der Anzeigeschicht. In pazpar2 sind Beispiel-Clients in JavaScript enthalten, die ein brauchbarer Ausgangspunkt sind.

Da die Webseiten an der SUB Göttingen TYPO3 nutzen, haben wir eine TYPO3 Extension erstellt, die einen pazpar2-Client in TYPO3 einbindet. Die Anzeige dieses Clients wurde entwickelt, um möglichst viele der verfügbaren Metadaten anzuzeigen, externe Dienste wie Journals Online & Print von der ZDB einzubinden und den Import von Datensätzen in Bibliographiesoftware zu ermöglichen.

Ressourcen

Unsere Konfigurationen und Entwicklungen rund um pazpar2 sind frei verfügbar und können genutzt werden. Sollten sie auf Interesse stoßen, genutzt und verbessert werden, nehmen wir Verbesserungen und Fehlermeldungen gerne entgegen.

3 Kommentare

  1. Martin

    Der Einsatz von pazpar2 bei der vifamath sieht sehr eindrucksvoll und optisch modern aus. Wenn ich es richtig verstanden habe, werden die einzelnen Ergebnisse der verschiedenen Zielsysteme on the fly zu einer Ergebnismenge bei der Anzeige zusammengefasst? In welcher Reihenfolge werden die Treffer präsentiert? Wie erfolgt dabei ein homogenes Relevanz Ranking?

    Antworten
    • Sven-S. Porst

      Wenn ich es richtig verstanden habe, werden die einzelnen Ergebnisse der verschiedenen Zielsysteme on the fly zu einer Ergebnismenge bei der Anzeige zusammengefasst?

      Das ist richtig. Die Daten werden geholt, Duplikate (sehr elementar) zusammengefasst und dann in eine Ergebnismenge getan.

      In welcher Reihenfolge werden die Treffer präsentiert?

      Wir zeigen die Ergebnisse absteigend nach Erscheinungsjahr an. Das entspricht einerseits dem Verhalten der meisten Opacs und hat andererseits den Vorteil der (häufig nicht konfigurierbaren) Trefferreihenfolge der genutzten Z39.50/SRU Server zu entsprechen. Technisch sind auch Sortierungen nach anderen Feldern möglich.

      Wie erfolgt dabei ein homogenes Relevanz Ranking?

      Gar nicht. Ich bezweifle auch, daß dies bei einer Abfrage über heterogene Datenbestände, die meistens kein Relevance-Ranking haben, sinnvoll möglich ist.

      (pazpar2 bietet in einem gewissen Rahmen Unterstützung für ein Relevanz-Ranking. Wenn man mit Targets arbeitet, die selbst Ranken und ihre Rankingergebnisse mit den Treffern bereitstellen, könnte die Infrastruktur sogar dafür ausreichen. In unserer Realität tut dies aber keines der Targets von außerhalb.)

      Antworten

Kommentieren

Sie können diese XHTML-Tags verwenden: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>