Réindexer une table sans impact sur les résultats de la recherche de texte

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 2 minutes de lecture
  • Reconstruire les index de recherche de texte sans impact négatif sur les résultats de recherche. Vous pouvez continuer à effectuer des recherches textuelles sur une table pendant la régénération de l’index.

    Avant de commencer

    La table pour laquelle vous souhaitez reconstruire l’index doit déjà être configurée pour l’indexation et la recherche. Pour plus d’informations sur ce processus de configuration, reportez-vous à la section Configurer une table pour l’indexation et la recherche.

    Rôle requis : admin
    Remarque :
    Si la valeur par défaut de la glide.script_processor.admin propriété système a été modifiée, 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’index de recherche de texte entier avant la reconstruction. Elle 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 plus d’informations sur l’élévation des privilèges, reportez-vous à la section Elevated privilege roles.
    2. Dans le champ de texte Script exécuté (JavaScript exécuté sur le serveur), saisissez le script en arrière-plan suivant, en veillant à placer 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 s’agit de 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 indiquer 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 afin 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.