Come risolvere una ricerca o un caricamento lento dei contenuti in PaperOffice ricostruendo gli indici FULLTEXT

Se la ricerca o il caricamento dei contenuti in PaperOffice è lento, la ricostruzione di tutti gli indici FULLTEXT nel database MariaDB utilizzando HeidiSQL può migliorare le prestazioni. Esegui sempre un backup del database prima, segui la guida passo dopo passo e riavvia il servizio MariaDB dopo le modifiche. Sei responsabile per eventuali problemi o perdite di dati.
Timo Inglin
Timo Inglin

Creato: 15.04.2025 14:49 - Aggiornato: 15.04.2025 14:49

Problema

Se si riscontrano risultati di ricerca lenti o caricamento lento dei contenuti in PaperOffice, la causa potrebbe essere costituita da indici FULLTEXT obsoleti o frammentati nel database MariaDB. La ricostruzione di questi indici può migliorare significativamente le prestazioni della ricerca.

Soluzione Possibile

Questa guida spiega come eliminare e ricreare in modo sicuro tutti gli indici FULLTEXT nel database MariaDB di PaperOffice utilizzando HeidiSQL.

Disclaimer: Procedere a proprio rischio. Eseguire sempre un backup completo del database prima di apportare modifiche. L'utente è responsabile per eventuali problemi o perdite di dati derivanti da queste azioni.

Guida Passo-Passo

  1. Installa HeidiSQL
    Scarica e installa HeidiSQL da https://www.heidisql.com/.
  2. Identifica il Nome del Tuo Database PaperOffice
    • Apri HeidiSQL e connettiti al tuo server MariaDB.
    • Nel pannello di sinistra, cerca il database utilizzato da PaperOffice. Il nome è univoco per ogni installazione (ad es., xxfwxukcvgahspyehjztxyfuf).
  3. Esegui il Backup del Tuo Database
    • Fai clic con il pulsante destro del mouse sul database di PaperOffice in HeidiSQL.
    • Seleziona "Esporta database come SQL".
    • Salva il file di backup in una posizione sicura.
  4. Prepara lo Script di Ricostruzione dell'Indice FULLTEXT
    • Apri una nuova scheda di query in HeidiSQL.
    • Copia e incolla il seguente script, sostituendo xxfwxukcvgahspyehjztxyfuf con il nome effettivo del tuo database:
    USE `xxfwxukcvgahspyehjztxyfuf`;
    
    -- Ricostruisci gli indici FULLTEXT per tutte le tabelle pertinenti
    
    -- Tabella: categories
    ALTER TABLE `categories`
      DROP INDEX `name`,
      ADD FULLTEXT INDEX `name` (`name`);
    
    -- Tabella: 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`);
    
    -- Tabella: 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`);
    
    -- Tabella: documents_notes
    ALTER TABLE `documents_notes`
      DROP INDEX `content`,
      ADD FULLTEXT INDEX `content` (`content`);
    
    -- Tabella: 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`);
    
    -- Tabella: documents_tasks
    ALTER TABLE `documents_tasks`
      DROP INDEX `this_match`,
      ADD FULLTEXT INDEX `this_match` (`content`, `todo_subject`);
    
    -- Tabella: documents_barcodes
    ALTER TABLE `documents_barcodes`
      DROP INDEX `barcode_value`,
      ADD FULLTEXT INDEX `barcode_value` (`barcode_value`);
    
    -- Tabella: documents_udfs
    ALTER TABLE `documents_udfs`
      DROP INDEX `value`,
      ADD FULLTEXT INDEX `value` (`value`);
          
    • Nota: Questo comando potrebbe richiedere del tempo, a seconda delle dimensioni del tuo database.
  5. Esegui lo Script
    Fai clic sul pulsante "Esegui" in HeidiSQL per eseguire lo script.
  6. Riavvia il Servizio MariaDB
    • Dopo aver eseguito lo script, riavvia il servizio MariaDB per assicurarti che tutte le modifiche siano completamente applicate e che eventuali dati di indice memorizzati nella cache vengano aggiornati.
    • Su Windows:
      • Apri l'app Servizi (premi Win+R, digita services.msc e premi Invio).
      • Trova "MariaDB" nell'elenco, fai clic con il pulsante destro del mouse e seleziona "Riavvia".
    • O tramite prompt dei comandi:
      net stop MariaDB
      net start MariaDB
  7. Verifica i Risultati
    Testa le funzioni di ricerca e caricamento dei contenuti in PaperOffice. Le prestazioni dovrebbero essere migliorate.
  8. Se Riscontri Problemi
    Ripristina il tuo database dal backup creato nel passaggio 3.

Riepilogo

La ricostruzione degli indici FULLTEXT può risolvere problemi di ricerca e caricamento lenti dei contenuti in PaperOffice. Esegui sempre il backup del tuo database prima di apportare modifiche e utilizza HeidiSQL per un'esperienza user-friendly.

Questo articolo è stato utile?