Solr Konfiguration: Unterschied zwischen den Versionen
Reimer (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „ Die Konfiguration der Indizes erfolgt über das Webinterface von IES-Admin. Klicken Sie hierzu auf die URL des Solr-Modules. <pre>/ies/solr/</pre> Für de…“) |
Sed (Diskussion | Beiträge) K (Sed verschob die Seite Solr Konfiguration (ab Version 1.13) nach Solr Konfiguration, ohne dabei eine Weiterleitung anzulegen) |
||
(11 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | ==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 [http://www.eclipse.org/jetty/ 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 | ||
<pre>/ies/solr/</pre> | <pre>/ies/solr/</pre> | ||
− | Für den Login verwenden Sie bitte die Zugangsdaten von | + | Für den Login verwenden Sie bitte die Zugangsdaten von IES-Admin. |
<br> | <br> | ||
Zeile 7: | Zeile 31: | ||
=== Übersicht === | === Übersicht === | ||
− | [[Image:SolrÜbersicht.png]] | + | [[Image:SolrÜbersicht.png|center|1000px]] |
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.<br>Diese führen dann jeweils lokal die Indizierung durch crawlen der Website durch. Über die Toolbar kann dieser Prozess auch manuell initiiert werden.<br>In der Spalte Status wird der vom Crawler erstellte Rückgabewert angezeigt. | 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.<br>Diese führen dann jeweils lokal die Indizierung durch crawlen der Website durch. Über die Toolbar kann dieser Prozess auch manuell initiiert werden.<br>In der Spalte Status wird der vom Crawler erstellte Rückgabewert angezeigt. | ||
Zeile 28: | Zeile 52: | ||
:Daten pro Sekunde | :Daten pro Sekunde | ||
− | <br> | + | <br> |
=== Details === | === Details === | ||
Zeile 46: | Zeile 70: | ||
Hinweis: Dieser Publisher muss seinerseits mit dem entsprechenden Webnode verknüpft sein. | Hinweis: Dieser Publisher muss seinerseits mit dem entsprechenden Webnode verknüpft sein. | ||
− | Darunter können Quellen hinzugefügt werden. | + | 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: |
<br> | <br> | ||
Zeile 58: | Zeile 82: | ||
[[Image:SolrCrawler.png]] | [[Image:SolrCrawler.png]] | ||
− | Hier wird das Verhalten des Crawlers bestimmt. Die Anzahl der parallelen Threads wird festgelegt.<br>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.<br>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.<br>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. | + | Hier wird das Verhalten des Crawlers bestimmt. Die Anzahl der parallelen Threads wird festgelegt.<br>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.<br>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.<br>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. |
<br> | <br> | ||
Zeile 66: | Zeile 90: | ||
[[Image:SolrSynchronisation.png]] | [[Image:SolrSynchronisation.png]] | ||
− | Im Bereich Synchronisation kann festgelegt werden, ob der Index automatisch neu aufgebaut werden soll.<br>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.<br>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.<br>Damit sind alle redaktionellen Änderungen direkt auch für die Volltextsuche verfügbar | + | Im Bereich Synchronisation kann festgelegt werden, ob der Index automatisch neu aufgebaut werden soll.<br>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.<br>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.<br>Damit sind alle redaktionellen Änderungen direkt auch für die Volltextsuche verfügbar. |
<br> | <br> | ||
Zeile 76: | Zeile 100: | ||
<br> | <br> | ||
− | ==== | + | ==== 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. | |
+ | <div class="note"> | ||
+ | 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. | ||
+ | * ^https://www.google.com.* | ||
+ | * ^https://www.google.de.* | ||
+ | * ^https://maps.google.de.* | ||
+ | * ^https://piwik.domain.de.* | ||
+ | </div> | ||
− | |||
− | + | Externe Inhalte haben die zusätzlichen Reiter: | |
− | + | <br> | |
− | + | ==== 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.<br>Der Welcome-Normalizer behandelt die Start-Seiten wie index.php, die i.d.R. auch im Apache eingestellt sind.<br>Der Standard-Normalizer behandelt doppelte oder fehlerhafte URL-Pattern und korrigiert diese.<br>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. | |
− | + | <noinclude> | |
− | + | [[Kategorie:Administration und Konfiguration]] | |
− | + | </noinclude> | |
− | |||
− | |||
− | |||
− |
Aktuelle Version vom 28. September 2022, 13:24 Uhr
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.
Allgemeine Informationen zur Konstellation und Funktionsweise einzelner Module oder des IESWebnode werden auch im IES-Ökosystem beschrieben:
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.
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
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
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.