Weitere Indizes einbinden
Eine Verbesserung von Vufind, die von Vufind-Chefentwickler Demian Katz und mir entwickelt wurde, ist die Suche über verschiedene Indizes auf einmal (wir berichteten). Das Suchergebnis wird von Solr aggregiert und auf der Ergebnisseite in einer gemeinsamen Liste dargestellt.
Auf TUBfind ist die Auswahl, welche Quellen (Katalog, Weblog und/oder Webseite) durchsucht werden sollen, über verschiedene Indizes realisiert. Auf diese Weise können die verschiedenen Inhalte unabhängig voneinander indiziert und einfach differenziert werden. Zudem ist es möglich, einen einzelnen Index auch aus einem anderen Kontext heraus gezielt zu durchsuchen.
Um die Verteilte Suche einzusetzen, benötigen Nutzer von Vufind 1.0.1 einen Patch, der im Vufind-Bugtrackingsystem zur Verfügung gestellt wird. In der nächsten Vufind-Distribution ist der Patch integriert (in nochmals leicht veränderter Form); er ist bereits jetzt im SVN Bestandteil des Trunks.
Die Konfiguration der verteilten Suche auf Vufind-Seite ist nicht schwer. Es müssen Einstellungen in der config.ini und (bei Bedarf) in der facetts.ini vorgenommen werden. Wie genau die Konfiguration in der config.ini aussieht, hängt davon ab, ob der Patch oder der Trunk benutzt wird.
Für den Patch gelten folgende Regeln:
[IndexShards]
Library Catalog = localhost:8080/solr/biblio
Weblog = localhost:8080/solr/weblog
Website = localhost:8080/solr/website
[ShardPreferences]
defaultChecked = Library Catalog,Weblog,Website
Bei den Shards sind die Adressen des Index auf dem Solr-Servers einzutragen, allerdings ohne http! Als Bezeichner, der auch in der Suchbox angezeigt wird, kann ein beliebiger Name verwendet werden (vor dem Gleichheitszeichen). Mit defaultChecked kann (als kommaseparierte Liste) festgelegt werden, welche Indizes vorselektiert sein sollen. Wird hier nichts konfiguriert, werden alle eingetragenen Shards vorselektiert.
In der Version im Trunk bzw. damit der nächsten Version von Vufind sind die vorselektierten Shards nicht mehr in einer kommaseparierten Liste eingetragen, sondern in einem Array (also ein Shard pro Zeile, aber mehrere Zeilen möglich).
defaultChecked[] = "Library Catalog"
defaultChecked[] = "Website"
Als Wert für defaultChecked[] wird hier der Name eingegeben, der unter den Shards festgelegt wurde.
Zudem lässt sich im Trunk einstellen, ob die Shards überhaupt als Kästchen repräsentiert werden sollen. Dies ermöglicht es, mehrere Indizes zu nutzen, ohne dass der Nutzer etwas davon merkt, was in einigen Fällen auch erwünscht sein kann.
showCheckboxes = true
In der facetts.ini muss eingestellt werden, ob (und wenn ja, welche) Facetten bei der Bentzung bestimmter Indizes ignoriert werden müssen. Werden bei Vufind Indizes durchsucht, die sich nicht in sämtlichen Feldern entsprechen, so führt das dazuz, dass Facetten, die nicht in allen Indizes auftauchen, ignoriert werden müssen. Werden sie mit durchsucht, führt das zu einem Abbruch der Suche. Wenn also verschieden strukturierte Indizes für die Verteilte Suche benutzt werden, so sollten die Facettierungsangaben überprüft werden. Sobald der anders strukturierte Index bei der Suche genutzt wird, werden die unter StripFacetts eingestellten Facetten ignoriert.