Koha verwendet Zebra von Indexdata als Indexserver. Längere Zeit gab es parallel zum neueren DOM-Indexmodus noch die ältere GRS1-Variante. Paketinstallationen, die ab Koha 3.14 neu eingerichtet wurden, sind automatisch für DOM konfiguriert. Ältere Installationen müssen manuell umgestellt werden, da in Koha 3.20 der ältere Modus wegfallen soll.
Nachdem ich die veraltete Anleitung zum Wechsel von GRS1 zu DOM im Wiki der Koha-Community überarbeitet habe, habe ich ein Update von Version 3.12.15 auf die aktuelle 3.18.4 gemacht und die Änderungen nachvollzogen, um sie auf Vollständigkeit zu prüfen.
Achtung: Wenn lokale Index-Anpassungen vorgenommen wurden, müssen diese für den neuen Indizierungsmodus wieder eingerichtet werden. Das ist nicht Teil dieser Anleitung.
Vorspiel: Koha 3.12.15 installiert, Instanz mit dem Namen »koha« eingerichtet, ~1000 Biblios von Project Gutenberg eingespielt. Alle Biblios indiziert:
mirko@debian:~$ sudo koha-rebuild-zebra -v -f -b koha Zebra configuration information ================================ Zebra biblio directory = /var/lib/koha/koha/biblios Zebra authorities directory = /var/lib/koha/koha/authorities Koha directory = /usr/share/koha/intranet/cgi-bin BIBLIONUMBER in : 999$c BIBLIOITEMNUMBER in : 999$d ================================ skipping authorities ==================== exporting biblio ==================== Records exported: 978 ==================== REINDEXING zebra ==================== ==================== CLEANING ====================
Suche im OPAC funktioniert.
Upgrade auf Koha 3.18.4
Upgrade to 3.18.04.000 done (3.18.4 release)
In About Koha > System information erscheinen die Warnungen
Warning The <zebra_bib_index_mode> entry is set to grs1. GRS-1 support is now deprecated and will be removed in future releases. Please use DOM instead by setting <zebra_bib_index_mode> to dom (full reindex required). Warning The <use_zebra_facets> entry is missing in your configuration file. Falling back to legacy facet calculation.
Für Paketinstallationen, die vor Koha 3.14 eingerichtet wurden, ist diese Information nicht ausreichend, denn das Ändern der Konfigurationsdatei ändert den Indizierungsmodus intern nicht. Wird der Eintrag auf DOM geändert, gibt es beim Indizieren zwei Warnungen und es werden anschließend im OPAC keine Treffer mehr gefunden.
mirko@debian:~$ sudo koha-rebuild-zebra -v -f -b koha
Zebra configuration information
================================
Zebra biblio directory = /var/lib/koha/koha/biblios
Zebra authorities directory = /var/lib/koha/koha/authorities
Koha directory = /usr/share/koha/intranet/cgi-bin
Lockfile = /var/lock/zebra_koha_koha/rebuild/rebuild..LCK
BIBLIONUMBER in : 999$c
BIBLIOITEMNUMBER in : 999$d
================================
skipping authorities
====================
exporting biblio
====================
Records exported: 978
====================
REINDEXING zebra
====================
16:56:30-14/03 zebraidx(7264) [warn] Couldn't open collection.abs [No such file or directory]
16:56:37-14/03 zebraidx(7264) [warn] Record didn't contain match fields in (bib1,Local-number)
====================
CLEANING
====================
Um das System tatsächlich auf DOM-Indizierung umzustellen, sind weitere Schritte nötig.
Zunächst eine Kopie der Konfigurationsdatei /etc/koha/sites/koha/koha-conf.xml anlegen. Danach die koha-conf.xml öffnen und in der Konfiguration für den Biblioserver die rot hervorgehobenen Passagen hinzufügen:
<!-- BIBLIOGRAPHIC RECORDS --> <server id="biblioserver" listenref="biblioserver"> <directory>/var/lib/koha/koha/biblios</directory> <config>/etc/koha/sites/koha/zebra-biblios-dom.cfg</config> <cql2rpn>/etc/koha/zebradb/pqf.properties</cql2rpn> <xi:include href="/etc/koha/zebradb/retrieval-info-bib-dom.xml" xmlns:xi="http://www.w3.org/2001/XInclude"> <xi:fallback> <retrievalinfo> […] </retrievalinfo> </xi:fallback> </xi:include> <!-- The stuff below is used to enable SRU. It's currently disabled until we come up with a good way to make it get magically set up by the packaging system. If you need it, uncomment and set it up manually. <xi:include href="__KOHA_CONF_DIR__/zebradb/explain-biblios.xml" xmlns:xi="http://www.w3.org/2001/XInclude"> <xi:fallback> <explain xmlns="http://explain.z3950.org/dtd/2.0/"> <serverInfo> <host>__ZEBRA_SRU_HOST__</host> <port>__ZEBRA_SRU_BIBLIOS_PORT__</port> <database>biblios</database> </serverInfo> </explain> </xi:fallback> </xi:include> --> </server>
Anschließend am Ende der Datei den <config>-Part anpassen, wenn nicht bereits erledigt. Der Wert für <zebra_bib_index_mode> muss auf dom gesetzt werden, ein entsprechender Eintrag für <zebra_auth_index_mode> sollte bereits vorhanden sein und <use_zebra_facets> sollte auf 1 gesetzt werden, bzw der Eintrag hinzugefügt werden, falls noch nicht vorhanden:
<config>
<db_scheme>mysql</db_scheme>
<database>koha_koha</database>
<hostname>localhost</hostname>
[…]
<zebra_bib_index_mode>dom</zebra_bib_index_mode>
<zebra_auth_index_mode>dom</zebra_auth_index_mode>
<use_zebra_facets>1</use_zebra_facets>
<queryparser_config>/etc/koha/searchengine/queryparser.yaml</queryparser_config>
</config>
Dann Zebra neu starten und voll indizieren mit
koha-restart-zebra koha koha-rebuild-zebra -v -f koha
Die OPAC-Suche bringt wieder Ergebnisse und About Koha > System information zeigt
No warnings.