Régénérer l’index de texte pour un seul enregistrement

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 2 minutes de lecture
  • Mettre à jour l’index de la recherche de texte pour un enregistrement unique. Utilisez cette approche pour vérifier rapidement si l’indexation de texte est la cause d’un problème de recherche sans reconstruire l’index de texte complet pour une table entière.

    Avant de commencer

    Identifiez les éléments suivants :
    • Un terme de recherche qui ne renvoie pas les résultats attendus
    • Un enregistrement contenant le terme de recherche identifié qui n’est pas renvoyé lors de la recherche du terme
    • Table qui inclut l’enregistrement identifié

    La table identifiée 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 reconstruit l’index de recherche de texte pour un enregistrement unique. Cela prend moins de temps que de reconstruire l’index de texte pour tous les enregistrements d’une table.

    Vous pouvez utiliser cette méthode pour déterminer rapidement si l’indexation de texte est à l’origine d’un problème de recherche. Cela évite le retard associé à la reconstruction de l’index de recherche de texte de l’ensemble de la table.

    Procédure

    1. Copiez le sys_id de l’enregistrement identifié en sélectionnant Copier sys_id dans son menu contextuel.
    2. 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.
    3. Dans le champ de texte Script exécuté (JavaScript exécuté sur le serveur), entrez le script suivant, en remplaçant TABLE_NAME par le nom de la table contenant l’enregistrement identifié et SYS_ID par le sys_id de l’enregistrement que vous avez copié à l’étape 1:
      var gr = new GlideRecord('TABLE_NAME');
      gr.get('SYS_ID');
      gs.eventQueue("text_index", gr, '[TABLE_NAME]','update','text_index');
    4. Sélectionnez Exécuter le script.
      Le script crée un événement de mise à jour text_index pour la table spécifiée dans la file d’attente text_index.
    5. Accédez à la Tout > Politique système > Événements > Journal des événements et attendez que l’état du nouvel événement de mise à jour text_index passe à Traité.
      Pour trouver le nouvel événement, vous pouvez appliquer un filtre [Nom] [contient][text_index] et trier la vue de liste Événements par date/heure de création par ordre décroissant (z à a).

    Résultats

    Le système met à jour l’index de texte de l’enregistrement spécifié dans la table spécifiée.

    Que faire ensuite

    Répétez votre recherche d’échantillon. Si cette recherche renvoie l’enregistrement identifié, vous pouvez mettre à jour l’index de texte pour l’ensemble de la table qui contient cet enregistrement. Pour plus de détails, voir Régénérer un index de texte pour une table.