Wie man eine langsame Suche oder langsames Laden von Inhalten in PaperOffice behebt, indem man FULLTEXT-Indizes neu erstellt

Wenn die Suche oder das Laden von Inhalten in PaperOffice langsam ist, kann das Neuerstellen aller FULLTEXT-Indizes in Ihrer MariaDB-Datenbank mit HeidiSQL die Leistung verbessern. Erstellen Sie immer zuerst ein Backup Ihrer Datenbank, folgen Sie der Schritt-für-Schritt-Anleitung und starten Sie den MariaDB-Dienst nach den Änderungen neu. Sie sind für etwaige Probleme oder Datenverluste selbst verantwortlich.
Timo Inglin
Timo Inglin

Erstellt: 15.04.2025 14:39 - Aktualisiert : 15.04.2025 14:46

Problem

Wenn Sie langsame Suchergebnisse oder das Laden von Inhalten in PaperOffice feststellen, kann die Ursache veraltete oder fragmentierte FULLTEXT-Indizes in Ihrer MariaDB-Datenbank sein. Das Neuerstellen dieser Indizes kann die Suchleistung erheblich verbessern.

Mögliche Lösung

Diese Anleitung erklärt, wie Sie alle FULLTEXT-Indizes in Ihrer PaperOffice MariaDB-Datenbank sicher löschen und neu erstellen können, indem Sie HeidiSQL verwenden.

Haftungsausschluss: Vorgehen auf eigene Gefahr. Erstellen Sie immer eine vollständige Sicherung Ihrer Datenbank, bevor Sie Änderungen vornehmen. Sie sind für alle Probleme oder Datenverluste verantwortlich, die sich aus diesen Aktionen ergeben.

Schritt-für-Schritt-Anleitung

  1. HeidiSQL installieren
    Laden Sie HeidiSQL von https://www.heidisql.com/ herunter und installieren Sie es.
  2. Ihren PaperOffice-Datenbanknamen identifizieren
    • Öffnen Sie HeidiSQL und verbinden Sie sich mit Ihrem MariaDB-Server.
    • Suchen Sie im linken Bereich nach der von PaperOffice verwendeten Datenbank. Der Name ist für jede Installation eindeutig (z. B. xxfwxukcvgahspyehjztxyfuf).
  3. Ihre Datenbank sichern
    • Klicken Sie mit der rechten Maustaste auf Ihre PaperOffice-Datenbank in HeidiSQL.
    • Wählen Sie "Datenbank als SQL exportieren".
    • Speichern Sie die Sicherungsdatei an einem sicheren Ort.
  4. Das Skript zur Neuerstellung des FULLTEXT-Index vorbereiten
    • Öffnen Sie einen neuen Abfrage-Tab in HeidiSQL.
    • Kopieren Sie das folgende Skript und fügen Sie es ein, wobei Sie xxfwxukcvgahspyehjztxyfuf durch Ihren tatsächlichen Datenbanknamen ersetzen:
    USE `xxfwxukcvgahspyehjztxyfuf`;
    
    -- FULLTEXT-Indizes für alle relevanten Tabellen neu erstellen
    
    -- Tabelle: categories
    ALTER TABLE `categories`
      DROP INDEX `name`,
      ADD FULLTEXT INDEX `name` (`name`);
    
    -- Tabelle: documents
    ALTER TABLE `documents`
      DROP INDEX `name`,
      DROP INDEX `xml_data`,
      DROP INDEX `type`,
      DROP INDEX `original_location`,
      DROP INDEX `keywords`,
      DROP INDEX `security_geolocation`,
      DROP INDEX `contacts`,
      DROP INDEX `description`,
      ADD FULLTEXT INDEX `name` (`name`),
      ADD FULLTEXT INDEX `xml_data` (`xml_data`),
      ADD FULLTEXT INDEX `type` (`type`),
      ADD FULLTEXT INDEX `original_location` (`original_location`),
      ADD FULLTEXT INDEX `keywords` (`keywords`),
      ADD FULLTEXT INDEX `security_geolocation` (`security_geolocation`),
      ADD FULLTEXT INDEX `contacts` (`contacts`),
      ADD FULLTEXT INDEX `description` (`description`);
    
    -- Tabelle: documents_annotations
    ALTER TABLE `documents_annotations`
      DROP INDEX `text`,
      DROP INDEX `note_id`,
      DROP INDEX `task_id`,
      DROP INDEX `reminder_id`,
      DROP INDEX `contact_id`,
      DROP INDEX `tag_id`,
      DROP INDEX `events`,
      ADD FULLTEXT INDEX `text` (`text`),
      ADD FULLTEXT INDEX `note_id` (`note_id`),
      ADD FULLTEXT INDEX `task_id` (`task_id`),
      ADD FULLTEXT INDEX `reminder_id` (`reminder_id`),
      ADD FULLTEXT INDEX `contact_id` (`contact_id`),
      ADD FULLTEXT INDEX `tag_id` (`tag_id`),
      ADD FULLTEXT INDEX `events` (`events`);
    
    -- Tabelle: documents_notes
    ALTER TABLE `documents_notes`
      DROP INDEX `content`,
      ADD FULLTEXT INDEX `content` (`content`);
    
    -- Tabelle: documents_ocr
    ALTER TABLE `documents_ocr`
      DROP INDEX `ocr_text`,
      DROP INDEX `smartspell`,
      ADD FULLTEXT INDEX `ocr_text` (`ocr_text`),
      ADD FULLTEXT INDEX `smartspell` (`smartspell`);
    
    -- Tabelle: documents_tasks
    ALTER TABLE `documents_tasks`
      DROP INDEX `this_match`,
      ADD FULLTEXT INDEX `this_match` (`content`, `todo_subject`);
    
    -- Tabelle: documents_barcodes
    ALTER TABLE `documents_barcodes`
      DROP INDEX `barcode_value`,
      ADD FULLTEXT INDEX `barcode_value` (`barcode_value`);
    
    -- Tabelle: documents_udfs
    ALTER TABLE `documents_udfs`
      DROP INDEX `value`,
      ADD FULLTEXT INDEX `value` (`value`);
          
    • Hinweis: Dieser Befehl kann je nach Größe Ihrer Datenbank eine Weile dauern.
  5. Das Skript ausführen
    Klicken Sie auf die Schaltfläche "Ausführen" in HeidiSQL, um das Skript auszuführen.
  6. Den MariaDB-Dienst neu starten
    • Starten Sie nach dem Ausführen des Skripts den MariaDB-Dienst neu, um sicherzustellen, dass alle Änderungen vollständig angewendet und alle zwischengespeicherten Indexdaten aktualisiert werden.
    • Unter Windows:
      • Öffnen Sie die Dienste-App (drücken Sie Win+R, geben Sie services.msc ein und drücken Sie die Eingabetaste).
      • Suchen Sie "MariaDB" in der Liste, klicken Sie mit der rechten Maustaste darauf und wählen Sie "Neu starten".
    • Oder über die Eingabeaufforderung:
      net stop MariaDB
      net start MariaDB
  7. Die Ergebnisse überprüfen
    Testen Sie die Such- und Inhaltsladefunktionen in PaperOffice. Die Leistung sollte verbessert sein.
  8. Wenn Probleme auftreten
    Stellen Sie Ihre Datenbank aus der in Schritt 3 erstellten Sicherung wieder her.

Zusammenfassung

Das Neuerstellen von FULLTEXT-Indizes kann langsame Such- und Inhaltsladevorgänge in PaperOffice beheben. Sichern Sie immer Ihre Datenbank, bevor Sie Änderungen vornehmen, und verwenden Sie HeidiSQL für eine benutzerfreundliche Erfahrung.

War dieser Artikel hilfreich?