Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > Übersicht tags > Indexierung
Der DocumentService – Grundlage für die Textindizierung und Suche – ist ein WebService, der diverse Operationen mit Dokumenten durchführt. Dazu gehören etwa folgende:
Der TextindexService verwendet die durch den DocumentService extrahierten Texte und erstellt, als letzten Schritt, den Textindex. Texte müssen im Textindex enthalten sein, damit sie in der Suche gefunden werden können.
Sie finden die Einstellungen für den DocumentService unter folgendem Pfad in der MetaDB:
MAIN_MODULE_MANAGEMENT/documentservice/control
Hier können Sie die Version des verwendeten Programms für die PDF-Konvertierung, PDFBox, einstellen:
MAIN_MODULE_MANAGEMENT/documentservice/control/pdf
Unter folgendem Pfad können Sie die verschiedenen Dienste des DocumentServices einstellen:
MAIN_MODULE_MANAGEMENT/documentservice/control/services
Sie finden die Einstellungen für den TextindexService unter folgendem Pfad in der MetaDB:
MAIN_MODULE_MANAGEMENT/textindexservice/control/
Mithilfe der Konverter kann agorum core über 80 verschiedene Dokumentformate darstellen. Anhand der Bezeichnung kann die Konvertierung abgeleitet werden:
DOC2PDF > Startdatei2Zieldatei
Die DocumentService-Converter definieren Sie in der MetaDB unter folgendem Pfad mit drei Property-Entrys:
MAIN_MODULE_MANAGEMENT/documentservice/control/services/settings/[ DocumentConverter ]/convertJSON2TXT
Property-Entry | Beschreibung | Beispiele |
---|---|---|
class | Definiert das Konverterprogramm. | agorum.documentservice.server.impl.RawConverter |
ParameterNames | Definiert den Namen der Parameter. | String[0]: InputFileExtension String[1]: OutputFileExtension |
ParameterValues | Definiert die Werte der definierten Parameter. | String[0]: json String[1]: txt |
Die Standard-Konverterprogramme mit definierten Einstellungen liegen als Property-Bundle unter:
MAIN_MODULE_MANAGEMENT/documentservice/control/services/settings/
Konverterprogramm | Beschreibung |
---|---|
openoffice | Einstellungen, um OpenOffice / LibreOffice automatisiert zu starten und zu beenden. |
ifilter | Einstellungen, um einen IFilter aufzurufen, der ein Dokument konvertiert (nur zur Textextraktion). |
ocr | Einstellungen für das Erzeugen von PDF-Dateien aus dem OCR-Prozess heraus. |
Property-Entry | Beschreibung |
---|---|
OCRPdfClassNames | Definiert die Objekttypen aus agorum core, die für einen OCR-Prozess infrage kommen. |
OCRPdfOverwriteExistingFile | true Überschreibt ein bereits erzeugtes PDF für die aktuelle Datei. false Überschreibt kein bereits erzeugtes PDF für die aktuelle Datei. |
OCRPdfSaveAs | Definiert den Namen für das erzeugte PDF. |
OCRPdfSaveDescription | Beschreibt, wie das Erzeugen von PDF-Dateien aktiviert werden kann. |
Tipp: Sie können eigene Konverter anlegen (siehe Neuen Konverter anlegen).
Folgende Parameter müssen Sie in der MetaDb anpassen, um den Timeout des OCRs festzulegen:
MAIN_MODULE_MANAGEMENT/textindexservice/control/solr/GetDocumentTextTimeoutInMS
MAIN_MODULE_MANAGEMENT/textindexservice/control/syncdata/indexer
/GetDocumentTextTimeoutInMS
Dies kann nötig sein, da bei großen PDF-Dateien oft mehr als 1 Stunde Timeout nötig ist.
Wenn Sie die Texterkennung in bestimmten Bildformaten nicht verwenden wollen, können Sie den entsprechenden DocumentConverter gezielt deaktivieren:
/MAIN_MODULE_MANAGEMENT/documentservice/control/services/[ DocumentConverter ]
Die Erstellung eines durchsuchbaren PDFs durch die OCR-Verarbeitung kann einige Zeit beanspruchen. Während der OCR-Verarbeitung ist das vorhandene PDF-Dokument nicht automatisch gesperrt.
Wenn Sie verhindern wollen, dass PDF-Dokumente von Benutzern oder anderen Prozessen bearbeitet werden und diese Änderungen im schlimmsten Fall verloren gehen, weil PDF-Dokumente nach der OCR-Verarbeitung durch das durchsuchbare Dokumente ersetzt werden, müssen Sie die PDFs während der OCR-Verarbeitung sperren:
/MAIN_MODULE_MANAGEMENT/documentservice/control/LockWhileReplacing
agorum core integriert und verwendet das Programm PDFBox zur internen PDF-Konvertierung. Sie können die verwendete Version von PDFBox in der MetaDB einstellen. Wenn Sie etwa feststellen, dass es Darstellungsprobleme in gescannten PDF-Dokumenten gibt, können Sie testen, ob die Verwendung einer anderen Version von PDFBox die Darstellung verbessert.
Gehen Sie wie folgt vor, um eine andere Version von PDFBox zu verwenden:
MAIN_MODULE_MANAGEMENT/documentservice/control/pdf/versions
In diesem Beispiel wird die Version 2.0.32 als Version 2 von PDFBox verwendet, Version 2.0.26 ist deaktiviert. Version 2.0.32 ist ein Fork mit eigenen Anpassungen von agorum, der einen Fallback-Mechanismus enthält, um Text aus eingebetteten Schriftarten ohne Unicode-Informationen extrahieren zu können.
Den RemoteDocumentConverter stellen Sie unter folgendem Pfad in der MetaDb ein:
/MAIN_MODULE_MANAGEMENT/documentservice/control/services/RemoteDocumentConverter
Die Einstellungen sind analog zum DocumentConverter. Verwenden Sie dies nur, wenn Sie die Konvertierung tatsächlich auf einem anderen Server durchführen.
Hinweis: Für die Umstellung muss agorum core auf einem Windows-System installiert sein.
Im Standard wird für den Textindex die Textextraktion von LibreOffice für Office-Dokumenten verwendet, für PDFs kommt PDFBox zum Einsatz. Es besteht die Möglichkeit, für diese und weitere Formate IFilter (http://www.ifilter.org) zu verwenden.
Tipps:
Das Hilfsprogramm FiltDump.exe liegt bei Microsoft Platform SDK im Ordner bin.
Microsoft Platform SDK können Sie kostenlos bei Microsoft herunterladen.
Das Hilfsprogramm FiltDump.exe muss dabei auf demselben Rechner wie agorum core liegen.
Läuft agorum core auf einem Linux-System, muss ein Windows-System mit einer DocumentService-Installation und den IFilter-Programmen zur Verfügung gestellt werden. Die Konvertierung läuft dann über einen Webserviceaufruf von agorum core.
Weiterhin muss der entsprechende IFilter installiert werden (etwa der IFilter für PDFs von Adobe).
/MAIN_MODULE_MANAGEMENT/documentservice/control/services/settings/ifilter
/MAIN_MODULE_MANAGEMENT/documentservice/control/services/DocumentConverter
Wenn PDF-Dateien nach agorum core gelangen, sendet das System diese Dateien normalerweise an die OCR und es findet eine Textextraktion statt. Manchmal ist eine solche Textextraktion jedoch unerwünscht, etwa, wenn das System eine große PDF-Datei normalerweise im Workflow auftrennt oder Seiten löscht, dies jedoch ein Benutzer vorübergehend manuell macht. Hier wäre es unnötig, 100 Seiten an die OCR zu schicken, um nach dem Trennen die gleichen Seiten in etwa 5 Stapeln à 20 Seiten erneut an die OCR zu senden.
Ist der Eingangsordner etwa ein DocForm-Ordner, können Sie hier die OCR-Erkennung auch deaktivieren und sie im Anschluss manuell anstoßen. Hier können Sie die Textextraktion dann ebenfalls verhindern. Bei diesem manuellen Anstoßen können Sie zudem weitere Parameter zur Steuerung im Aktiven Ordner mitgeben, etwa, um die Graustufen oder das Drehen von Dokumenten einzustellen.
So verhindern Sie die Textextraktion in einem Ordner:
MAIN_MODULE_MANAGEMENT/textindexservice/control
Hinweis: Tragen Sie keine Pfade oder UUIDs ein.
Sie können die automatische Anwendung von Änderungen auf den Textindex deaktivieren. Dies kann zu einer verbesserten Leistung und Stabilität des Systems führen, da der Commit-Prozess gezielt gesteuert und optimiert werden kann. Ferner kann das manuelle Handling von Commits dazu beitragen, unnötige Systembelastungen zu vermeiden und die Konsistenz von Suchergebnissen zu erhöhen. Allerdings bedeutet das Deaktivieren des Autocommits auch, dass der alte Zustand der Daten noch angezeigt werden kann, bevor die neuen Daten übernommen werden. Es kann also sein, dass neue Daten in Suchergebnissen nicht sofort enthalten sind.
Hinweis:
So deaktivieren Sie das AutoCommit-Verhalten für den Textindex:
MAIN_MODULE_MANAGEMENT/textindexservice/control
• Name: AutoCommit
• Wert (String): false
Ergebnis: Sie haben das AutoCommit-Verhalten deaktiviert. Testen Sie gründlich, welche Auswirkungen diese Änderung hat. Ändern Sie Ihr Skripte und Tests bei Bedarf ab, um den Index manuell zu aktualisieren. Informationen dazu finden Sie u. a. hier:
JavaScript-Bibliothek common/index
Änderungen im Index sichtbar machen