Solr Konfiguration

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen

Allgemein

Das Solr-Modul ist ein Modul im IES, welches die Software Solr von Apache nahtlos mit dem CMS integriert. Hierbei wird über die Oberfläche des Solr-Moduls pro Publikationskanal ein Solr-Index angelegt und konfiguriert.

Pro Index können mehrere Quellen definiert werden, über die der Index gefüllt werden soll.

Interne Quelle
Die Interne Quelle ist die Standard-Quelle für einen Solr-Index. Diese kann es pro Index nur einmal geben und steht für alle Artikel des Systems, die in dem Publikationskanal publiziert sind. Für diese Quelle gibt es eine Ad-hoc Indizierung. Dies bedeutet das unmittelbar nach dem Publizieren eines neuen oder geänderten Artikels oder nach dem Depublizieren eines Artikels die Index für dieses Artikel aktualisiert wird.
Externe Quellen
Externe Quellen sind Webseiten (HTML) oder Datenquellen (XML), die mit in den Volltext-Index aufgenommen werden sollen. Für Webseiten steht ein Crawler zur Verfügung der ggf. die gesamte Site abcrawlen kann. Das genauer Verhalten des Crawlers lässt sich konfigurieren. Für Datenquellen im XML-Format können XSLT-Definitionen angegeben werden um die Daten für den Solr-Index so aufzubereiten, das sie in den Index übernommen werden können.

Für die eigentliche Suche stellt das Modul Basis-PHP-Klassen zur Verfügung die im Normalfall aber nicht direkt genutzt werden. Für die Integration der Suche in einer Webseite werden von der Infosite 6 Enterprise Edition fertige Komponenten bereit gestellt. Das Solr-Modul dient hauptsächlich der Erstellung und Verwaltung der Solr-Indizes.

Solr-Installation

Um die Volltextsuche über das Solr-Modul zu realisieren muss auf den entsprechenden Webserver der sog. IES-Webnode installiert werden. Beim IES-Webnode handelt es sich um einen Java-Applikations- Server auf Basis des Jetty 9. Dieser dient als Basis für erweiterte Funktionen auf dem Webserver.

IES-Webnode

Allgemeine Informationen zur Konstellation und Funktionsweise einzelner Module oder des IESWebnode werden auch im IES-Ökosystem beschrieben:

IES-Ökosystem

Wenn die Lizenz entsprechend konfiguriert ist, ist der Download der notwendigen Module direkt über IES-Admin möglich. Mit der Installation des Solr-Moduls im IES werden die notwendigen Dateien automatisch auf die konfigurierten IES-Webnodes installiert. Damit sind die technischen Voraussetzungen erfüllt.

Solr-Konfiguration

Die Konfiguration der Indizes erfolgt über ein eigenes Webinterface. Klicken Sie hierzu im IES-Admin-Modul under Module auf die URL des Solr-Modules. Oder verwenden Sie direkt die URL

/ies/solr/

Für den Login verwenden Sie bitte die Zugangsdaten von IES-Admin.


Übersicht

In der Übersicht sehen Sie nun alle konfigurierten Indices. Hier können auch weitere Indices angelegt werden. Ein Doppenklick öffnet den Bearbeitungsdialog. Alle hier vorgenommenen Angaben werden automatisch an die IES-Webnodes übertragen.
Diese führen dann jeweils lokal die Indizierung durch crawlen der Website durch. Über die Toolbar kann dieser Prozess auch manuell initiiert werden.
In der Spalte Status wird der vom Crawler erstellte Rückgabewert angezeigt.


start
Startzeitpunkt der Indizierung
time
Dauer des Crawlprozesses
agents
Anzahl der Threads für die Indizierung
fetched
Anzahl der geladenen Seiten
errors
Anzahl der Fehler (HTML-Syntax, HTTP-Errors, etc.)
bytes
geladenes Datenvolumen während des Crawlprozesses
bps
Daten pro Sekunde


Details

Über den Button Crawl-Result öffnet sich ein neuer Tab mit einer Liste der durchlaufenen Urls. Standardmäßig ist ein Häkchen oben gesetzt, sodass nur Fehler und Warnungen angezeigt werden.


Konfiguration

Per Doppelklick auf den Index, oder bei klicken auf den Index bearbeiten Button bei ausgewähltem Index, öffnen sie einen Tab zur Konfiguration.

SolrKonfiguration.png

Im linken Feld wird der Name des Index und die sog. Core-ID konfiguriert. Diese wird später für den Zugriff auf die Daten verwendet. Das XML-Schema ist zwingend auszuwählen. Weiterhin muss der entsprechende Publikationsbereich konfiguriert werden. Dadurch wird die Verknüpfung zwischen Index und Publisher festgelegt.

Hinweis: Dieser Publisher muss seinerseits mit dem entsprechenden Webnode verknüpft sein.

Darunter können Quellen hinzugefügt werden. Durch klicken auf das Dreieck können sie festlegen ob die Quelle Interne oder Externe Inhalte haben soll. Für Intern gibt es folgende Reiter:


Allgemein

Enthält Felder für ID und Name.

Crawler

SolrCrawler.png

Hier wird das Verhalten des Crawlers bestimmt. Die Anzahl der parallelen Threads wird festgelegt.
Der Timeout legt die Zeit fest, die ein einzelner URL-Aufruf maximal benötigen darf. Die Angabe erfolgt in Millisekunden. Bedenken Sie hier bitte, dass größere Downloads auch länger benötigen. Die Option „Check Links“ aktiviert den im Crawler implementierten Link-Checker. Entsprechende fehlerhafte URLs werden im Crawler-Result angezeigt.
Die Mindestanzahl an gecrawlten Seiten kann als Sicherheitsfunktion verstanden werden. Findet ein Durchlauf nicht mind. die hier konfigurierte Anzahl an Seiten, gilt das Ergebnis als invalide. Das passiert z.B. wenn der Webserver technische Probleme hat und nur eine Fehlerseite zurückliefert. Der Index wird dann nicht entfernt.
Die Einstellung „Maximale Dateigröße“ legt fest bis zu welcher Größe Dateien indiziert werden. Der Agent-Name des Crawlers kann hier ebenfalls bestimmt werden. Im Normalfall ist die Angabe eines Agent-Namens nicht notwendig. Ist für den Zugriff auf die konfigurierten URLs ein Proxy notwendig, muss dieser hier ebenfalls konfiguriert werden.


Synchronisation

SolrSynchronisation.png

Im Bereich Synchronisation kann festgelegt werden, ob der Index automatisch neu aufgebaut werden soll.
Hier ist zum einen eine regelmäßig Neuindizierung mit einem bestimmten Intervall möglich. Diese Funktion wird i.d.R. nur für besondere Indices verwendet und sollte nicht gewählt werden.
Weiterhin gibt es noch die direkte Ad-hoc-Synchronisation. Diese ist ein Haupt-Feature des IES, bei dem der IES die Webnodes eines Publishers über Änderungen an Dateien oder ganzen Ordnerstrukturen mitteilt. Dieser triggert das Solr-Modul, welches automatisch die relevanten Strukturen im Dokumentenbaum erneut indiziert.
Damit sind alle redaktionellen Änderungen direkt auch für die Volltextsuche verfügbar.


URL-Filter

In diesem Bereich werden die Regeln für gültige und ungültige URLs in Form von regulären Ausdrücken bestimmt. Alle URLs die vom Crawler geladen werden, werden gegen alle hier definierten Regeln geprüft. Soll eine externe Domain in den Index ausgenommen werden, so muss neben der Start-URL auch hier ein entsprechender Filter den Zugriff erlauben.


Link-CheckerFilter

Für alle Links die geprüft werden, wenn der hacken Check Links im Crawler gesetzt ist, können hier Ausnahmen festgelegt werden.

Bei Verwendung der Link-Checkers sollten alle verwendeten Google-Adressen herausgefiltert werden, da sonst über die IP-Adresse mit der der Crawler den Link prüft z.B. Google-Maps nicht mehr (oder nur noch mit einem Captcher) aufrufen kann. Weiter sollte bei Integration von Piwik auch die URL des Piwik-Servers herausgefiltert werden. Z.B.


Externe Inhalte haben die zusätzlichen Reiter:


Start-URL's

Hier gibt man einen oder mehrere Url's als Startpunkte an. 

URL-Normalizer

Damit URLs nicht doppelt im Index stehen (z.B. /bibliothek und /bibliothek/ und /bibliothek/index.php) müssen diese nach den crawlen „normalisiert“ werden. Damit erkannt werden kann, dass es sich um die gleiche URL handelt.
Der Welcome-Normalizer behandelt die Start-Seiten wie index.php, die i.d.R. auch im Apache eingestellt sind.
Der Standard-Normalizer behandelt doppelte oder fehlerhafte URL-Pattern und korrigiert diese.
Der Url-Normalizer erlaubt es alle nicht explizit genannten URL-Parameter zu ignorieren.

Suche direkt über die Solr-API

Für die Durchführung von Suchen auf Basis eines Solr-Index wird über das Solr-Module eine PHP-Api zur Verfügung gestellt. Die hier genannten Informationen stehen auch im Wiki unter

Anwenden der Solr-Suche mit Hilfe der PHP-API

zur Verfügung.