====== Unterschiede ====== Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
de:components:preparator [2009/03/03 13:49] 127.0.0.1 Externe Bearbeitung |
de:components:preparator [2024/09/18 08:32] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Präparatoren ====== | + | ====== Präparatoren ====== |
- | Bevor der [[Crawler]] ein Dokument in den [[Suchindex]] aufnehmen kann, muss zuerst der Text des Dokuments extrahiert werden. Dies wird von s.g. **Präparatoren** übernommen. | + | Bevor der [[Crawler]] ein Dokument in den [[search index|Suchindex]] aufnehmen kann, muss zuerst der Text des Dokuments extrahiert werden. Dies wird von s.g. **Präparatoren** übernommen. |
- | Für jedes Datenformat ist immer ein bestimmter Präparator zuständig. So gibt es einen Html-Präparator, der Text aus HTML-Dokumenten lesen kann, einen PDF-Präparator, der PDFs lesen kann, usw. | + | Für jedes Datenformat ist immer ein bestimmter Präparator zuständig. So gibt es einen Html-Präparator, der Text aus HTML-Dokumenten lesen kann, einen PDF-Präparator, der PDFs lesen kann, usw. |
- | Präparatoren sind in Form von Plugins realisiert. D.h. die Präparatoren sind nicht in das Hauptprogramm integriert, sondern befinden sich in eigenen Dateien im Verzeichnis ''preparator''. So können neuentwickelte Präparatoren für die Behandlung weiterer Datenformate und -quellen leicht in regain eingebunden werden. AuÃerdem kann man flexibel festlegen, welche Präparatoren regain verwenden soll. | + | Präparatoren sind in Form von Plugins realisiert. D.h. die Präparatoren sind nicht in das Hauptprogramm integriert, sondern befinden sich in eigenen Dateien im Verzeichnis ''preparator''. So können neuentwickelte Präparatoren für die Behandlung weiterer Datenformate und -quellen leicht in regain eingebunden werden. Außerdem kann man flexibel festlegen, welche Präparatoren regain verwenden soll. |
- | ===== Einbindung von Präparatoren ===== | ||
- | Ein Präparator weià eigentlich selbst, für welche Dokumente er zuständig ist. Zur Aktivierung muà man lediglich: | ||
- | * den Präparator in das Verzeichnis ''preparator'' kopieren und | ||
- | * im ''preparatorList''-Tag der Datei [[CrawlerConfiguration.xml]] durch reguläre Ausdrücke festlegen, welcher Präparator für welche URLs verwendet werden soll (s.a. das optionale ''urlPattern''-Tag). | ||
- | Manche Präparatoren kann man dort noch mit weiteren Einstellungen konfigurieren. Beispielsweise kann man den HTML-Präparator so einstellen, dass er nur einen bestimmten Teil der HTML-Datei auswertet (also z.B. den Navigationsteil ignoriert). AuÃerdem ist die Reihenfolge, in der die Präparatoren vom [[Crawler]] aufgerufen werden, zu deklarieren. | + | ===== Einbindung von Präparatoren ===== |
- | ===== Rangfolge von Präparatoren im Crawler ===== | + | Ein Präparator weiß eigentlich selbst, für welche Dokumente er zuständig ist. Zur Aktivierung muß man lediglich: |
- | Der [[Crawler]] führt intern eine Liste aller Präparatoren im Verzeichnis ''preparator''. Am Anfang der Liste stehen die Präparatoren in der Reihenfolge, wie im ''preparatorList''-Tag aus der [[CrawlerConfiguration.xml]]. Danach folgen in unbestimmter Ordnung die Präparatoren, die nicht explizit im ''preparatorList''-Tag konfiguriert wurden. | + | * den Präparator in das Verzeichnis ''preparator'' kopieren und |
+ | * im ''preparatorList''-Tag der Datei [[:config:CrawlerConfiguration.xml]] durch [[:de:config:regular expression]] festlegen, welcher Präparator für welche URLs verwendet werden soll (s.a. das optionale ''urlPattern''-Tag). | ||
- | Der Crawler probiert bei jedem Dokument die Präparatoren in Reihenfolge dieser Liste. Der erste zur jeweiligen URL passende Präparator wird verwendet. Falls dieser Präparator mit einem Fehler abbricht, probiert der Crawler die Liste weiter, bis wieder ein Präparator zur URL passt. | + | Manche Präparatoren kann man dort noch mit weiteren Einstellungen konfigurieren. Beispielsweise kann man den HTML-Präparator so einstellen, dass er nur einen bestimmten Teil der HTML-Datei auswertet (also z.B. den Navigationsteil ignoriert). |
- | Auf diese Weise sind Präparatoren, die das gleiche Dateiformat lesen können, kaskadierbar. Falls der erste beim Textextrahieren für das ''content''-Feld scheitert, kann es vielleicht der zweite... | ||
- | ===== Ausschalten bestimmter Präparatoren ===== | + | ===== Rangfolge von Präparatoren im Crawler ===== |
- | Um etwa die [[Crawler|Aufnahme]] bestimmter Dateitypen in den [[Suchindex]] zu verhindern, | + | |
- | können (neben der ''blacklist'') auch einzelne Präparatoren deaktiviert werden. Es gibt zwei Möglichkeiten: | + | Der [[:de:components:Crawler]] führt intern eine Liste aller Präparatoren im Verzeichnis ''preparator''. Am Anfang der Liste stehen die Präparatoren in der Reihenfolge, wie im ''preparatorList''-Tag aus der [[:config:CrawlerConfiguration.xml]]. Danach folgen in unbestimmter Ordnung die Präparatoren, die nicht explizit im ''preparatorList''-Tag konfiguriert wurden. |
- | * Entweder entfernt man die zugehörige ''.jar''-Datei aus dem Verzeichnis ''preparator'', | + | |
+ | Der Crawler probiert bei jedem Dokument die Präparatoren in Reihenfolge dieser Liste. Der erste zur jeweiligen URL passende Präparator wird verwendet. Falls dieser Präparator mit einem Fehler abbricht, probiert der Crawler die Liste weiter, bis wieder ein Präparator zur URL passt. | ||
+ | |||
+ | Auf diese Weise sind Präparatoren, die das gleiche Dateiformat lesen können, kaskadierbar. Falls der erste beim Textextrahieren für das ''content''-Feld scheitert, kann es vielleicht der zweite. | ||
+ | |||
+ | |||
+ | ===== Ausschalten bestimmter Präparatoren ===== | ||
+ | |||
+ | Um etwa die Aufnahme bestimmter Dateitypen in den Suchindex zu verhindern, können - neben der [[:de:features:white and black list|Blacklist]] - auch einzelne Präparatoren deaktiviert werden. Es gibt zwei Möglichkeiten: | ||
+ | * Entweder entfernt man die zugehörige ''.jar''-Datei aus dem Verzeichnis ''preparator'', | ||
* oder man setzt beim entsprechenden ''preparator''-Tag das Attribut ''enabled'' auf ''false''. | * oder man setzt beim entsprechenden ''preparator''-Tag das Attribut ''enabled'' auf ''false''. | ||
- | **Beispiel:** Deaktivierung des Präparators ''JacobMsExcelPreparator'': | + | **Beispiel:** Deaktivierung des Präparators ''JacobMsExcelPreparator'': |
- | <preparatorList> | + | <code xml> |
- | ... | + | <preparatorList> |
- | <preparator enabled="false"> | + | ... |
- | <class>.JacobMsExcelPreparator</class> | + | <preparator enabled="false"> |
- | </preparator> | + | <class>.JacobMsExcelPreparator</class> |
- | ... | + | </preparator> |
- | </preparatorList> | + | ... |
+ | </preparatorList> | ||
+ | </code> | ||
- | ===== Liste der Präparatoren ===== | + | ===== Liste der Präparatoren ===== |
- | In regain sind die folgenden Präparatoren enthalten: | + | In regain sind die folgenden Präparatoren enthalten: |
- | **Plattformunabhängige Präparatoren:** | + | **Plattformunabhängige Präparatoren:** |
- | * [[HtmlPreparator]] - Präpariert HTML-Dokumente. | + | * ''HtmlPreparator'' - Präpariert HTML-Dokumente. |
- | * [[PdfBoxPreparator]] - Präpariert PDF-Dokumente, basiert auf [http://www.pdfbox.org pdfbox]. | + | * ''PdfBoxPreparator'' - Präpariert PDF-Dokumente, basiert auf [[http://www.pdfbox.org|pdfbox]]. |
- | * [[OpenOfficePreparator]] - Präpariert OpenOffice-Dokumente. | + | * ''OpenOfficePreparator'' - Präpariert OpenOffice-Dokumente. |
- | * [[PoiMsOfficePreparators]] - Eine Sammlung von Präparatoren, die die Microsoft-Office-Formate Word, Excel und Powerpoint präparieren können. Diese Präparatoren basierend auf [http://jakarta.apache.org/poi/ POI] sind 100% pure Java und laufen damit auf jeder Plattform. | + | * ''PoiMsOfficePreparators'' - Eine Sammlung von Präparatoren, die die Microsoft-Office-Formate Word, Excel und Powerpoint präparieren können. Diese Präparatoren basierend auf [[http://jakarta.apache.org/poi/|POI]] sind 100% pure Java und laufen damit auf jeder Plattform. |
- | * [[PlainTextPreparator]] - Präpariert einfachen ASCII-Text. | + | * ''PlainTextPreparator'' - Präpariert einfachen ASCII-Text. |
- | * [[XmlPreparator]] - Präpariert XML-Dokumente. | + | * ''XmlPreparator'' - Präpariert XML-Dokumente. |
- | * [[SimpleRtfPreparator]] - Präpariert RTF-Dokumente. Nutzt eine eigene RTF-Implementierung. | + | * ''SimpleRtfPreparator'' - Präpariert RTF-Dokumente. Nutzt eine eigene RTF-Implementierung. |
- | * [[SwingRtfPreparator]] - Präpariert RTF-Dokumente. Nutzt die [http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JEditorPane.html RTF-Implementierung] von Java (Swing). | + | * ''SwingRtfPreparator'' - Präpariert RTF-Dokumente. Nutzt die [[http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JEditorPane.html|RTF-Implementierung]] von Java (genauer: Swing). |
- | * [[EmptyPreparator]] - indexiert nur die URL/Dateiname, Datum usw. (ignoriert Inhalt) | + | * ''EmptyPreparator'' - indexiert nur die URL/Dateiname, Datum usw. (ignoriert Inhalt) |
- | * [[ExternalPreparator]] - Ãberlässt das Präparieren einem externen Programm oder Script und kann damit für alle möglichen Dateiformate eingesetzt werden. | + | * ''ExternalPreparator'' - Überlässt das Präparieren einem externen Programm oder Script und kann damit für alle möglichen Dateiformate eingesetzt werden. |
- | **Präparatoren, die nur auf Windows-Systemen laufen:** | + | **Präparatoren, die nur auf Windows-Systemen laufen:** |
- | * [[IfilterPreparator]] - Ein Präparator, der die [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/indexsrv/html/ixrefint_9sfm.asp IFilter-Schnittstelle] von Microsoft nutzt. Dieser Präparator läuft nur unter Windows. Welche Formate unterstützt werden, hängt davon ab, welche IFilter auf dem Windows-System installiert sind. Windows selbst bringt jedoch schon eine sehr groÃe Anzahl an IFiltern für alle gängigen Formate mit. [http://www.citeknet.com IFilter Explorer] zeigt die installierten Filter an. | + | * ''IfilterPreparator'' - Ein Präparator, der die [[http://msdn.microsoft.com/library/default.asp?url=/library/en-us/indexsrv/html/ixrefint_9sfm.asp|IFilter-Schnittstelle]] von Microsoft nutzt. Dieser Präparator läuft nur unter Windows. Welche Formate unterstützt werden, hängt davon ab, welche IFilter auf dem Windows-System installiert sind. Windows selbst bringt jedoch schon eine sehr große Anzahl an IFiltern für alle gängigen Formate mit. [[http://www.citeknet.com|IFilter Explorer]] zeigt die installierten Filter an. |
- | * [[JacobMsOfficePreparators]] - Eine Sammlung von Präparatoren, die die Microsoft-Office-Formate Word, Excel und Powerpoint präparieren können. Diese Präparatoren nutzen via [http://danadler.com/jacob/ Jacob] die COM-Schnittstelle der Office-Programme zur Extraktion. Sie haben damit eine sehr hohe Erfolgsquote, setzen jedoch ein Windows-System mit installiertem MS-Office voraus. | + | * ''JacobMsOfficePreparators'' - Eine Sammlung von Präparatoren, die die Microsoft-Office-Formate Word, Excel und Powerpoint präparieren können. Diese Präparatoren nutzen via [[http://danadler.com/jacob/|Jacob]] die COM-Schnittstelle der Office-Programme zur Extraktion. Sie haben damit eine sehr hohe Erfolgsquote, setzen jedoch ein Windows-System mit installiertem MS-Office voraus. |