Reindexar uma tabela sem afetar os resultados da pesquisa de texto

  • Versão de lançamento: Xanadu
  • Atualizado 10 de ago. de 2024
  • 1 min. de leitura
  • Recrie índices de pesquisa de texto sem afetar negativamente os resultados da pesquisa. Você pode continuar a executar pesquisas de texto em uma tabela enquanto ocorre a regeneração do índice.

    Antes de Iniciar

    Função necessária: administrador
    Nota:
    Se o valor da propriedade do sistema glide.script_processor.admin tiver sido alterado do valor padrão, você precisará da função especificada por esse valor de propriedade. Para obter detalhes sobre este valor de propriedade e seus efeitos, consulte Restrict access to background script [Updated in Security Center 1.3 and 2.0].

    Por Que e Quando Desempenhar Esta Tarefa

    Este método de reindexação não limpa o índice de pesquisa de texto inteiro antes que a recriação ocorra. Ele recria o índice da tabela de pesquisa de texto, um registro de cada vez, e reindexa somente a hierarquia da tabela de destino. Por exemplo, se você selecionar a tabela sc_cat_item, somente a tabela sc_cat_item será reindexada.

    Procedimento

    1. Navegar até Todos > Definição do Sistema > Scripts - Segundo Plano.
      Nota:
      Se o valor da propriedade do sistema glide.script_processor.admin estiver definido como security_admin, você deverá elevar para essa função privilegiada para acessar este módulo. Para obter mais informações sobre como elevar privilégios, consulte Elevated privilege roles.
    2. No campo de texto Executar script (JavaScript executado no servidor), insira o seguinte script em segundo plano, certificando-se de colocar ambos os argumentos entre aspas, conforme mostrado:
      new GlideTextIndexEvent ( ).indexUpdate('TABLE_NAME', 'EMAIL_ADDRESS');
      Em que:
      • NAME_NAME é o nome da tabela que você deseja reindexar.
        Nota:
        Somente a tabela especificada e suas tabelas secundárias são reindexadas.
      • EMAIL_ADDRESS é o endereço para o qual uma notificação por e-mail deve ser enviada quando a reindexação da tabela for concluída. Digite nulo para nenhuma notificação por e-mail.
      Por exemplo, para gerar novamente o índice de pesquisa de texto da tabela kb_knowledge e especificar que nenhuma notificação por e-mail é necessária após a conclusão da recriação, crie o seguinte script em segundo plano:
      new GlideTextIndexEvent ( ).indexUpdate('kb_knowledge', 'null');
      O script cria um evento que o manipulador de índice processa, portanto, o script é concluído sem bloqueio na conclusão do trabalho de reindexação.
    3. Selecione Executar script.

    Resultado

    O sistema reindexa a pesquisa de texto para a tabela especificada. Para tabelas grandes, como sys_metadata, a reindexação pode levar algumas horas, mas você ainda pode executar pesquisas de texto na tabela enquanto o script está em execução.