Como corrigir pesquisa lenta ou carregamento de conteúdo no PaperOffice reconstruindo os índices FULLTEXT

Se a pesquisa ou o carregamento de conteúdo no PaperOffice estiver lento, reconstruir todos os índices FULLTEXT no seu banco de dados MariaDB usando o HeidiSQL pode melhorar o desempenho. Sempre faça um backup do banco de dados primeiro, siga o guia passo a passo e reinicie o serviço MariaDB após fazer as alterações. Você é responsável por quaisquer problemas ou perda de dados.
Timo Inglin
Timo Inglin

Criado: 15.04.2025 14:52 - Atualizado: 15.04.2025 14:52

Problema

Se você está enfrentando resultados de pesquisa lentos ou carregamento de conteúdo no PaperOffice, a causa pode ser índices FULLTEXT desatualizados ou fragmentados em seu banco de dados MariaDB. A reconstrução desses índices pode melhorar significativamente o desempenho da pesquisa.

Solução Possível

Este guia explica como descartar e recriar com segurança todos os índices FULLTEXT em seu banco de dados MariaDB do PaperOffice usando o HeidiSQL.

Aviso: Prossiga por sua conta e risco. Sempre faça um backup completo do seu banco de dados antes de fazer qualquer alteração. Você é responsável por quaisquer problemas ou perda de dados resultantes dessas ações.

Guia Passo a Passo

  1. Instalar o HeidiSQL
    Baixe e instale o HeidiSQL em https://www.heidisql.com/.
  2. Identificar o Nome do Seu Banco de Dados PaperOffice
    • Abra o HeidiSQL e conecte-se ao seu servidor MariaDB.
    • No painel esquerdo, procure o banco de dados usado pelo PaperOffice. O nome é único para cada instalação (por exemplo, xxfwxukcvgahspyehjztxyfuf).
  3. Fazer Backup do Seu Banco de Dados
    • Clique com o botão direito do mouse no seu banco de dados PaperOffice no HeidiSQL.
    • Selecione "Exportar banco de dados como SQL".
    • Salve o arquivo de backup em um local seguro.
  4. Preparar o Script de Reconstrução do Índice FULLTEXT
    • Abra uma nova guia de consulta no HeidiSQL.
    • Copie e cole o script a seguir, substituindo xxfwxukcvgahspyehjztxyfuf pelo nome real do seu banco de dados:
    USE `xxfwxukcvgahspyehjztxyfuf`;
    
    -- Reconstruir índices FULLTEXT para todas as tabelas relevantes
    
    -- Tabela: categories
    ALTER TABLE `categories`
      DROP INDEX `name`,
      ADD FULLTEXT INDEX `name` (`name`);
    
    -- Tabela: 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`);
    
    -- Tabela: 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`);
    
    -- Tabela: documents_notes
    ALTER TABLE `documents_notes`
      DROP INDEX `content`,
      ADD FULLTEXT INDEX `content` (`content`);
    
    -- Tabela: 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`);
    
    -- Tabela: documents_tasks
    ALTER TABLE `documents_tasks`
      DROP INDEX `this_match`,
      ADD FULLTEXT INDEX `this_match` (`content`, `todo_subject`);
    
    -- Tabela: documents_barcodes
    ALTER TABLE `documents_barcodes`
      DROP INDEX `barcode_value`,
      ADD FULLTEXT INDEX `barcode_value` (`barcode_value`);
    
    -- Tabela: documents_udfs
    ALTER TABLE `documents_udfs`
      DROP INDEX `value`,
      ADD FULLTEXT INDEX `value` (`value`);
          
    • Nota: Este comando pode demorar um pouco, dependendo do tamanho do seu banco de dados.
  5. Executar o Script
    Clique no botão "Executar" no HeidiSQL para executar o script.
  6. Reiniciar o Serviço MariaDB
    • Após executar o script, reinicie o serviço MariaDB para garantir que todas as alterações sejam totalmente aplicadas e quaisquer dados de índice em cache sejam atualizados.
    • No Windows:
      • Abra o aplicativo Serviços (pressione Win+R, digite services.msc e pressione Enter).
      • Encontre "MariaDB" na lista, clique com o botão direito e selecione "Reiniciar".
    • Ou via prompt de comando:
      net stop MariaDB
      net start MariaDB
  7. Verificar os Resultados
    Teste os recursos de pesquisa e carregamento de conteúdo no PaperOffice. O desempenho deve ser aprimorado.
  8. Se Encontrar Problemas
    Restaure seu banco de dados a partir do backup criado na etapa 3.

Resumo

A reconstrução dos índices FULLTEXT pode resolver a pesquisa e o carregamento lento de conteúdo no PaperOffice. Sempre faça backup do seu banco de dados antes de fazer alterações e use o HeidiSQL para uma experiência amigável.

Este artigo foi útil?