Übersicht
Die Index-Export-Funktion ermöglicht den Export von in OpenSearch indizierten Suchdokumenten als HTML-Dateien in das lokale Dateisystem. Diese Funktionalität ist nützlich für:
Erstellung statischer Backups von indizierten Inhalten
Generierung von Offline-Kopien von Dokumenten für Archivierungszwecke
Erstellung statischer Suchergebnisseiten
Migration von Inhalten zu anderen Systemen
Die exportierten Dateien behalten die ursprüngliche URL-Pfadstruktur der Quelldokumente bei, was die Navigation und Verwaltung der exportierten Inhalte erleichtert.
Funktionsweise
Wenn der Index-Export-Job ausgeführt wird, erfolgt folgender Prozess:
Dokumente abfragen: Abrufen von Dokumenten aus OpenSearch mittels Scroll-API für effiziente Stapelverarbeitung
Inhalt verarbeiten: Extrahieren von Dokumentfeldern (Titel, Inhalt, URL usw.)
Verzeichnisstruktur erstellen: Replizieren der URL-Pfadstruktur im Export-Verzeichnis
HTML-Dateien generieren: Erstellen von HTML-Dateien mit dem Dokumentinhalt
Bis zur Fertigstellung fortfahren: Verarbeitung aller Dokumente in Stapeln bis der Index vollständig exportiert ist
Die Scroll-API gewährleistet eine effiziente Verarbeitung großer Dokumentenmengen ohne Speicherprobleme.
Konfigurationseigenschaften
Konfigurieren Sie die Index-Export-Funktion in fess_config.properties:
| Eigenschaft | Standardwert | Beschreibung |
|---|---|---|
index.export.path | /var/fess/export | Verzeichnis für exportierte Dateien |
index.export.exclude.fields | cache | Kommagetrennte Liste der auszuschließenden Felder |
index.export.scroll.size | 100 | Anzahl der pro Stapel verarbeiteten Dokumente |
Konfigurationsbeispiel:
index.export.path=/data/fess/export
index.export.exclude.fields=cache,boost,role
index.export.scroll.size=200
Job aktivieren
Der Index-Export-Job ist als geplanter Job registriert, aber standardmäßig deaktiviert.
So aktivieren Sie den Job:
Melden Sie sich bei der Fess-Administrationskonsole an
Navigieren Sie zu System > Scheduler
Suchen Sie Index Export Job in der Job-Liste
Klicken Sie, um die Job-Einstellungen zu bearbeiten
Legen Sie den Zeitplan mit einem Cron-Ausdruck fest
Speichern Sie die Einstellungen
Beispiele für Cron-Ausdrücke:
0 0 2 * * ?- Täglich um 2:00 Uhr ausführen0 0 3 ? * SUN- Jeden Sonntag um 3:00 Uhr ausführen0 0 0 1 * ?- Am ersten Tag jedes Monats um Mitternacht ausführen
Benutzerdefinierte Abfragefilterung
Sie können den Export-Job anpassen, um nur bestimmte Dokumente zu exportieren, indem Sie das Job-Skript ändern.
So fügen Sie einen benutzerdefinierten Abfragefilter hinzu:
Navigieren Sie zu System > Scheduler
Bearbeiten Sie den Index Export Job
Ändern Sie das Job-Skript, um einen Abfragefilter hinzuzufügen
Beispielskript mit Datumsfilter:
import org.codelibs.fess.exec.IndexExportJob
def job = new IndexExportJob()
job.query = "created:>=now-7d"
job.execute()
Beispielskript mit Website-Filter:
import org.codelibs.fess.exec.IndexExportJob
def job = new IndexExportJob()
job.query = "url:*example.com*"
job.execute()
Exportierte Dateistruktur
Exportierte Dateien sind so organisiert, dass sie die ursprüngliche URL-Struktur widerspiegeln.
Beispielsweise würde ein Dokument mit der URL https://example.com/docs/guide/intro.html exportiert nach:
/var/fess/export/
└── example.com/
└── docs/
└── guide/
└── intro.html
Jede exportierte HTML-Datei enthält:
Dokumenttitel
Hauptinhaltstext
Metadaten (Datum der letzten Änderung, Inhaltstyp usw.)
Referenz zur ursprünglichen URL
Best Practices
Speicherüberlegungen
Stellen Sie ausreichend Speicherplatz im Export-Verzeichnis sicher
Erwägen Sie dedizierten Speicher für große Dokumentenmengen
Implementieren Sie regelmäßige Bereinigung alter Exporte bei periodischen Exporten
Leistungstipps
Passen Sie
index.export.scroll.sizebasierend auf der Dokumentgröße an: - Kleinere Dokumente: größere Stapelgröße (200-500) - Größere Dokumente: kleinere Stapelgröße (50-100)Planen Sie Exporte während Zeiten geringer Nutzung
Überwachen Sie Festplatten-I/O während Export-Operationen
Sicherheitsempfehlungen
Legen Sie angemessene Dateiberechtigungen für das Export-Verzeichnis fest
Stellen Sie das Export-Verzeichnis nicht direkt im Web bereit
Erwägen Sie die Verschlüsselung exportierter Inhalte bei sensiblen Informationen
Überprüfen Sie regelmäßig den Zugriff auf exportierte Dateien
Fehlerbehebung
Export-Job wird nicht ausgeführt
Überprüfen Sie, ob der Job im Scheduler aktiviert ist
Prüfen Sie die Syntax des Cron-Ausdrucks
Überprüfen Sie Fess-Protokolle auf Fehlermeldungen:
tail -f /var/log/fess/fess.log | grep IndexExport
Leeres Export-Verzeichnis
Bestätigen Sie, dass Dokumente im Index vorhanden sind
Prüfen Sie die Berechtigungen des Export-Pfads
Überprüfen Sie, ob der Abfragefilter (falls benutzerdefiniert) mit Dokumenten übereinstimmt
# Dokumentanzahl im Index prüfen
curl -X GET "localhost:9201/fess.YYYYMMDD/_count?pretty"
Export schlägt mittendrin fehl
Prüfen Sie den verfügbaren Speicherplatz
Überprüfen Sie Protokolle auf Speicher- oder Timeout-Fehler
Erwägen Sie die Reduzierung von
scroll.sizefür große DokumentePrüfen Sie die Timeout-Einstellungen des OpenSearch-Scroll-Kontexts
Dateien nicht zugänglich
Überprüfen Sie Dateiberechtigungen:
ls -la /var/fess/exportPrüfen Sie, ob der Verzeichnisbesitzer mit dem Fess-Prozessbenutzer übereinstimmt
Bestätigen Sie, dass SELinux- oder AppArmor-Richtlinien den Zugriff erlauben
Verwandte Themen
Index-Verwaltung - Verfahren zur Index-Sicherung und -Wiederherstellung
Protokollkonfiguration - Konfiguration der Protokolleinstellungen zur Fehlerbehebung