Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > Übersicht tags > Indexierung


DocumentService und TextindexService

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.

Einstellungen in der MetaDB vornehmen


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/

Den DocumentConverter einstellen


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-Entrys

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

Konverterprogramme

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-Entrys zum Konverterprogramm „ocr“

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).

Timeout für die OCR einstellen


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.

OCR-Erkennung von Bildformaten deaktivieren


Wenn Sie die Texterkennung in bestimmten Bildformaten nicht verwenden wollen, können Sie den entsprechenden DocumentConverter gezielt deaktivieren:

  1. Öffnen Sie links in der Seitenleiste Administration.
  2. Öffnen Sie den Pfad:
    /MAIN_MODULE_MANAGEMENT/documentservice/control/services/[ DocumentConverter ]
    
  3. Finden Sie den DocumentConverter, den Sie deaktivieren wollen, in der Liste, etwa convertPNG2TXT.
  4. Wählen Sie im Kontextmenü Umbenennen.
  5. Setzen Sie ein # (Raute-Zeichen) vor den Namen, um den gewählten DocumentConverter zu deaktivieren.
  6. Klicken Sie OK, um die Umbenennung zu bestätigen.

    Ergebnis: Sie haben die Texterkennung in PNG-Bildern deaktiviert.

PDF während der OCR-Verarbeitung sperren


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:

  1. Öffnen Sie links in der Seitenleiste Administration.
  2. Öffnen Sie den Pfad:
    /MAIN_MODULE_MANAGEMENT/documentservice/control/LockWhileReplacing
  3. Bearbeiten Sie den Eintrag und setzen Sie den Wert auf true.
  4. Speichern Sie die Änderung.

Eine andere Version von PDFBox verwenden


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:

  1. Öffnen Sie links in der Seitenleiste Administration und dann MetaDB.
  2. Öffnen Sie den Pfad
    MAIN_MODULE_MANAGEMENT/documentservice/control/pdf/versions
  3. Setzen Sie ein # (Raute-Zeichen) vor den Namen, um eine Version von PDFBox gezielt zu deaktivieren.

    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.

    Verwendung von PDFBox Version 2.0.32

Den RemoteDocumentConverter einstellen (externe Konverterprogramme)


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.

Die Textextraktion auf IFilter umstellen


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).

  1. Passen Sie die FiltDumpExe unter folgendem Pfad in der MetaDb an:
    /MAIN_MODULE_MANAGEMENT/documentservice/control/services/settings/ifilter
    
  2. Geben Sie hier den vollständigen Pfad zu der .exe-Datei an.
  3. Passen Sie den gewünschten Konverter auf IFilter unter folgendem Pfad in der MetaDb an:
    /MAIN_MODULE_MANAGEMENT/documentservice/control/services/DocumentConverter
    
  4. Ändern Sie das Property class auf agorum.documentservice.server.impl.IFilterConverter.

Textextraktion in einem Ordner verhindern


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:

  1. Öffnen Sie in der MetaDb den Pfad:
    MAIN_MODULE_MANAGEMENT/textindexservice/control
    
  2. Bearbeiten Sie das Property-Entry NotIndexedFolders mit einem Doppelklick.
  3. Tragen Sie im Feld Wert (String) die ID des Ordners ein, um die Textextraktion in diesem Ordner zu verhindern.

    Hinweis: Tragen Sie keine Pfade oder UUIDs ein.

  4. Speichern Sie das Property-Entry.

    Ergebnis: Dokumente, die zukünftig in diesen Ordner gelangen, sendet das System nicht mehr an die OCR. Die Indizierung der Dokumente findet weiterhin statt.

AutoCommit für die Erstellung des Textindex deaktivieren


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:

  • Wenn Sie den AutoCommit deaktivieren, müssen Sie diese Änderung sorgfältig testen und Ihre Skripte und Konfigurationen bei Bedarf anpassen und den Index bei Bedarf manuell über die Skripte aktualisieren.
  • Wir planen, das AutoCommit-Verhalten in einer zukünftigen Version standardmäßig für Neuinstallationen zu deaktivieren.

So deaktivieren Sie das AutoCommit-Verhalten für den Textindex:

  1. Öffnen Sie in der MetaDb den Pfad:
    MAIN_MODULE_MANAGEMENT/textindexservice/control
  2. Erstellen Sie einen neuen MetaDB-Eintrag über die Schaltfläche und tragen Sie Folgendes ein:

    • Name: AutoCommit

    • Wert (String): false

  3. Speichern Sie die Änderungen.

    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