Cómo solucionar la búsqueda lenta o carga de contenido en PaperOffice reconstruyendo los índices FULLTEXT

Si la búsqueda o carga de contenido en PaperOffice es lenta, reconstruir todos los índices FULLTEXT en su base de datos MariaDB usando HeidiSQL puede mejorar el rendimiento. Siempre haga una copia de seguridad de su base de datos primero, siga la guía paso a paso y reinicie el servicio de MariaDB después de realizar los cambios. Usted es responsable de cualquier problema o pérdida de datos.
Timo Inglin
Timo Inglin

Erstellt: 15.04.2025 14:42 - Aktualisiert : 15.04.2025 14:47

Problema

Si experimenta resultados de búsqueda lentos o carga de contenido en PaperOffice, la causa puede ser índices FULLTEXT obsoletos o fragmentados en su base de datos MariaDB. Reconstruir estos índices puede mejorar significativamente el rendimiento de la búsqueda.

Posible Solución

Esta guía explica cómo eliminar y recrear de forma segura todos los índices FULLTEXT en su base de datos MariaDB de PaperOffice utilizando HeidiSQL.

Descargo de responsabilidad: Proceda bajo su propio riesgo. Siempre haga una copia de seguridad completa de su base de datos antes de realizar cualquier cambio. Usted es responsable de cualquier problema o pérdida de datos resultante de estas acciones.

Guía Paso a Paso

  1. Instalar HeidiSQL
    Descargue e instale HeidiSQL desde https://www.heidisql.com/.
  2. Identificar el Nombre de su Base de Datos de PaperOffice
    • Abra HeidiSQL y conéctese a su servidor MariaDB.
    • En el panel izquierdo, busque la base de datos utilizada por PaperOffice. El nombre es único para cada instalación (por ejemplo, xxfwxukcvgahspyehjztxyfuf).
  3. Hacer Copia de Seguridad de su Base de Datos
    • Haga clic derecho en su base de datos de PaperOffice en HeidiSQL.
    • Seleccione "Exportar base de datos como SQL".
    • Guarde el archivo de copia de seguridad en una ubicación segura.
  4. Preparar el Script de Reconstrucción del Índice FULLTEXT
    • Abra una nueva pestaña de consulta en HeidiSQL.
    • Copie y pegue el siguiente script, reemplazando xxfwxukcvgahspyehjztxyfuf con el nombre real de su base de datos:
    USE `xxfwxukcvgahspyehjztxyfuf`;
    
    -- Reconstruir índices FULLTEXT para todas las tablas relevantes
    
    -- Tabla: categories
    ALTER TABLE `categories`
      DROP INDEX `name`,
      ADD FULLTEXT INDEX `name` (`name`);
    
    -- Tabla: 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`);
    
    -- Tabla: 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`);
    
    -- Tabla: documents_notes
    ALTER TABLE `documents_notes`
      DROP INDEX `content`,
      ADD FULLTEXT INDEX `content` (`content`);
    
    -- Tabla: 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`);
    
    -- Tabla: documents_tasks
    ALTER TABLE `documents_tasks`
      DROP INDEX `this_match`,
      ADD FULLTEXT INDEX `this_match` (`content`, `todo_subject`);
    
    -- Tabla: documents_barcodes
    ALTER TABLE `documents_barcodes`
      DROP INDEX `barcode_value`,
      ADD FULLTEXT INDEX `barcode_value` (`barcode_value`);
    
    -- Tabla: documents_udfs
    ALTER TABLE `documents_udfs`
      DROP INDEX `value`,
      ADD FULLTEXT INDEX `value` (`value`);
          
    • Nota: Este comando puede tardar un tiempo, dependiendo del tamaño de su base de datos.
  5. Ejecutar el Script
    Haga clic en el botón "Ejecutar" en HeidiSQL para ejecutar el script.
  6. Reiniciar el Servicio MariaDB
    • Después de ejecutar el script, reinicie el servicio MariaDB para asegurarse de que todos los cambios se apliquen por completo y que se actualicen los datos de índice almacenados en caché.
    • En Windows:
      • Abra la aplicación Servicios (presione Win+R, escriba services.msc y presione Enter).
      • Busque "MariaDB" en la lista, haga clic derecho y seleccione "Reiniciar".
    • O a través del símbolo del sistema:
      net stop MariaDB
      net start MariaDB
  7. Verificar los Resultados
    Pruebe las funciones de búsqueda y carga de contenido en PaperOffice. El rendimiento debería haber mejorado.
  8. Si Encuentra Problemas
    Restaure su base de datos desde la copia de seguridad que creó en el paso 3.

Resumen

Reconstruir los índices FULLTEXT puede resolver la lentitud en la búsqueda y la carga de contenido en PaperOffice. Siempre haga una copia de seguridad de su base de datos antes de realizar cambios y use HeidiSQL para una experiencia fácil de usar.

War dieser Artikel hilfreich?