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

<div>

<h3 class="header_margin">Problem</h3> <p class="text_margin"> 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. </p>

<h3 class="header_margin">Mögliche Lösung</h3> <p class="text_margin"> Diese Anleitung erklärt, wie Sie alle FULLTEXT-Indizes in Ihrer PaperOffice MariaDB-Datenbank sicher löschen und neu erstellen können, indem Sie <a href="https://www.heidisql.com/" target="_blank">HeidiSQL</a> verwenden. </p>

<p class="disclaimer"> 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. </p>

<h3 class="header_margin">Schritt-für-Schritt-Anleitung</h3> <ol> <li class="custom_li"> <strong>HeidiSQL installieren</strong><br> Laden Sie HeidiSQL von <a href="https://www.heidisql.com/" target="_blank">https://www.heidisql.com/</a> herunter und installieren Sie es. </li> <li class="custom_li"> <strong>Ihren PaperOffice-Datenbanknamen identifizieren</strong><br> <ul> <li class="custom_li">Öffnen Sie HeidiSQL und verbinden Sie sich mit Ihrem MariaDB-Server.</li> <li class="custom_li">Suchen Sie im linken Bereich nach der von PaperOffice verwendeten Datenbank. Der Name ist für jede Installation eindeutig (z. B. <code>xxfwxukcvgahspyehjztxyfuf</code>).</li> </ul> </li> <li class="custom_li"> <strong>Ihre Datenbank sichern</strong><br> <ul> <li class="custom_li">Klicken Sie mit der rechten Maustaste auf Ihre PaperOffice-Datenbank in HeidiSQL.</li> <li class="custom_li">Wählen Sie "Datenbank als SQL exportieren".</li> <li class="custom_li">Speichern Sie die Sicherungsdatei an einem sicheren Ort.</li> </ul> </li> <li class="custom_li"> <strong>Das Skript zur Neuerstellung des FULLTEXT-Index vorbereiten</strong><br> <ul> <li class="custom_li">Öffnen Sie einen neuen Abfrage-Tab in HeidiSQL.</li> <li class="custom_li">Kopieren Sie das folgende Skript und fügen Sie es ein, wobei Sie <code>xxfwxukcvgahspyehjztxyfuf</code> durch Ihren tatsächlichen Datenbanknamen ersetzen:</li> </ul> <pre>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); </pre> <ul> <li class="custom_li"><strong>Hinweis:</strong> Dieser Befehl kann je nach Größe Ihrer Datenbank eine Weile dauern.</li> </ul> </li> <li class="custom_li"> <strong>Das Skript ausführen</strong><br> Klicken Sie auf die Schaltfläche "Ausführen" in HeidiSQL, um das Skript auszuführen. </li> <li class="custom_li"> <strong>Den MariaDB-Dienst neu starten</strong><br> <ul> <li class="custom_li">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.</li> <li class="custom_li"> <strong>Unter Windows:</strong> <ul> <li class="custom_li">Öffnen Sie die Dienste-App (drücken Sie <kbd>Win</kbd>+<kbd>R</kbd>, geben Sie <code>services.msc</code> ein und drücken Sie die Eingabetaste).</li> <li class="custom_li">Suchen Sie "MariaDB" in der Liste, klicken Sie mit der rechten Maustaste darauf und wählen Sie "Neu starten".</li> </ul> </li> <li class="custom_li"> <strong>Oder über die Eingabeaufforderung:</strong> <pre>net stop MariaDB net start MariaDB</pre> </li> </ul> </li> <li class="custom_li"> <strong>Die Ergebnisse überprüfen</strong><br> Testen Sie die Such- und Inhaltsladefunktionen in PaperOffice. Die Leistung sollte verbessert sein. </li> <li class="custom_li"> <strong>Wenn Probleme auftreten</strong><br> Stellen Sie Ihre Datenbank aus der in Schritt 3 erstellten Sicherung wieder her. </li> </ol>

<h3 class="header_margin">Zusammenfassung</h3> <p class="text_margin"> 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. </p> </div>