Comment corriger une recherche ou un chargement de contenu lent dans PaperOffice en reconstruisant les index FULLTEXT

Si la recherche ou le chargement de contenu dans PaperOffice est lent, reconstruire tous les index FULLTEXT de votre base de données MariaDB à l’aide de HeidiSQL peut améliorer les performances. Sauvegardez toujours votre base de données en premier, suivez le guide étape par étape et redémarrez le service MariaDB après avoir effectué les modifications. Vous êtes responsable de tout problème ou perte de données.
Timo Inglin
Timo Inglin

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

Problème

Si vous rencontrez des résultats de recherche lents ou des chargements de contenu lents dans PaperOffice, la cause peut être des index FULLTEXT obsolètes ou fragmentés dans votre base de données MariaDB. La reconstruction de ces index peut améliorer considérablement les performances de recherche.

Solution Possible

Ce guide explique comment supprimer et recréer en toute sécurité tous les index FULLTEXT dans votre base de données MariaDB PaperOffice à l'aide de HeidiSQL.

Avis de non-responsabilité : Procédez à vos risques et périls. Effectuez toujours une sauvegarde complète de votre base de données avant d'apporter des modifications. Vous êtes responsable de tout problème ou perte de données résultant de ces actions.

Guide Étape par Étape

  1. Installer HeidiSQL
    Téléchargez et installez HeidiSQL depuis https://www.heidisql.com/.
  2. Identifier le Nom de Votre Base de Données PaperOffice
    • Ouvrez HeidiSQL et connectez-vous à votre serveur MariaDB.
    • Dans le panneau de gauche, recherchez la base de données utilisée par PaperOffice. Le nom est unique pour chaque installation (par exemple, xxfwxukcvgahspyehjztxyfuf).
  3. Sauvegarder Votre Base de Données
    • Cliquez avec le bouton droit sur votre base de données PaperOffice dans HeidiSQL.
    • Sélectionnez "Exporter la base de données en SQL".
    • Enregistrez le fichier de sauvegarde dans un emplacement sûr.
  4. Préparer le Script de Reconstruction de l'Index FULLTEXT
    • Ouvrez un nouvel onglet de requête dans HeidiSQL.
    • Copiez et collez le script suivant, en remplaçant xxfwxukcvgahspyehjztxyfuf par le nom réel de votre base de données :
    USE `xxfwxukcvgahspyehjztxyfuf`;
    
    -- Reconstruire les index FULLTEXT pour toutes les tables pertinentes
    
    -- Table : categories
    ALTER TABLE `categories`
      DROP INDEX `name`,
      ADD FULLTEXT INDEX `name` (`name`);
    
    -- Table : 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`);
    
    -- Table : 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`);
    
    -- Table : documents_notes
    ALTER TABLE `documents_notes`
      DROP INDEX `content`,
      ADD FULLTEXT INDEX `content` (`content`);
    
    -- Table : 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`);
    
    -- Table : documents_tasks
    ALTER TABLE `documents_tasks`
      DROP INDEX `this_match`,
      ADD FULLTEXT INDEX `this_match` (`content`, `todo_subject`);
    
    -- Table : documents_barcodes
    ALTER TABLE `documents_barcodes`
      DROP INDEX `barcode_value`,
      ADD FULLTEXT INDEX `barcode_value` (`barcode_value`);
    
    -- Table : documents_udfs
    ALTER TABLE `documents_udfs`
      DROP INDEX `value`,
      ADD FULLTEXT INDEX `value` (`value`);
          
    • Note : Cette commande peut prendre un certain temps, en fonction de la taille de votre base de données.
  5. Exécuter le Script
    Cliquez sur le bouton "Exécuter" dans HeidiSQL pour exécuter le script.
  6. Redémarrer le Service MariaDB
    • Après avoir exécuté le script, redémarrez le service MariaDB pour vous assurer que toutes les modifications sont entièrement appliquées et que toutes les données d'index mises en cache sont actualisées.
    • Sous Windows :
      • Ouvrez l'application Services (appuyez sur Win+R, tapez services.msc et appuyez sur Entrée).
      • Recherchez "MariaDB" dans la liste, cliquez dessus avec le bouton droit et sélectionnez "Redémarrer".
    • Ou via l'invite de commandes :
      net stop MariaDB
      net start MariaDB
  7. Vérifier les Résultats
    Testez les fonctionnalités de recherche et de chargement de contenu dans PaperOffice. Les performances devraient être améliorées.
  8. Si Vous Rencontrez des Problèmes
    Restaurez votre base de données à partir de la sauvegarde que vous avez créée à l'étape 3.

Résumé

La reconstruction des index FULLTEXT peut résoudre les problèmes de recherche et de chargement de contenu lents dans PaperOffice. Sauvegardez toujours votre base de données avant d'apporter des modifications et utilisez HeidiSQL pour une expérience conviviale.

War dieser Artikel hilfreich?