Réindexer une table sans impacter les résultats de recherche de texte

  • Rversion finale: Xanadu
  • Mis à jour 10 août 2024
  • 1 minute de lecture
  • Reconstruisez les index de recherche de texte sans nuire aux résultats de recherche. Vous pouvez continuer à effectuer des recherches de texte sur une table pendant la régénération de l’index.

    Avant de commencer

    Rôle requis : administrateur
    Remarque :
    Si la valeur de la glide.script_processor.admin propriété système a été modifiée par rapport à la valeur par défaut, vous avez besoin du rôle spécifié par cette valeur de propriété. Pour en savoir plus sur cette valeur de propriété et ses effets, reportez-vous à la section Restrict access to background script [Updated in Security Center 1.3 and 2.0].

    Pourquoi et quand exécuter cette tâche

    Cette méthode de réindexation ne purge pas l’intégralité de l’index de recherche de texte avant la reconstruction. Il reconstruit l’index de table de recherche de texte un enregistrement à la fois et réindexe uniquement la hiérarchie de table cible. Par exemple, si vous sélectionnez la table sc_cat_item, seule la table sc_cat_item est réindexée.

    Procédure

    1. Accédez à la Tout > Définition du système > Scripts - Arrière-plan.
      Remarque :
      Si la valeur de la glide.script_processor.admin propriété système est définie sur security_admin, vous devez vous élever à ce rôle privilégié pour accéder à ce module. Pour en savoir plus sur l’élévation des privilèges, reportez-vous à la section Elevated privilege roles.
    2. Dans le champ de texte Exécuter le script (JavaScript exécuté sur le serveur), saisissez le script en arrière-plan suivant, en veillant à mettre les deux arguments entre guillemets, comme indiqué :
      new GlideTextIndexEvent ( ).indexUpdate('TABLE_NAME', 'EMAIL_ADDRESS');
      Où :
      • TABLE_NAME s’agit du nom de la table que vous souhaitez réindexer.
        Remarque :
        Seules la table spécifiée et ses tables enfants sont réindexées.
      • EMAIL_ADDRESS’est l’adresse à laquelle une notification par e-mail doit être envoyée lorsque la réindexation de la table est terminée. Tapez null pour aucune notification par e-mail.
      Par exemple, pour régénérer l’index de recherche de texte de la table kb_knowledge et spécifier qu’aucune notification par e-mail n’est requise une fois la reconstruction terminée, créez le script en arrière-plan suivant :
      new GlideTextIndexEvent ( ).indexUpdate('kb_knowledge', 'null');
      Le script crée un événement que le gestionnaire d’index traite, de sorte que le script se termine sans blocage à la fin de la tâche de réindexation.
    3. Sélectionnez Exécuter le script.

    Résultats

    Le système réindexe la recherche de texte pour la table spécifiée. Pour les tables volumineuses, telles que sys_metadata, la réindexation peut prendre quelques heures, mais vous pouvez toujours effectuer des recherches de texte sur la table pendant l’exécution du script.