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

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 1 minute de lecture
  • Mettre à jour l’index de recherche de texte pour un seul enregistrement. Cette approche permet de vérifier rapidement si l’indexation de texte est à l’origine d’un problème de recherche sans avoir à reconstruire l’index de texte intégral pour une table entière.

    Avant de commencer

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

    L’indexation de texte doit déjà être activée pour la table identifiée.

    Rôle requis : admin

    Pourquoi et quand exécuter cette tâche

    Cette méthode de réindexation reconstruit l’index de recherche de texte pour un seul enregistrement. Cela prend moins de temps que de reconstruire l’index de texte pour tous les enregistrements d’une table.

    Cette méthode vous permet de déterminer rapidement si l’indexation de texte est à l’origine d’un problème de recherche. Cela permet d’éviter le délai associé à la reconstruction de l’index de recherche de texte de l’ensemble de la table.

    Procédure

    1. Copiez la sys_id de l’enregistrement identifié en sélectionnant Copier sys_id dans son menu contextuel.
    2. Accédez à la Tous > Définition du système > Scripts - Arrière-plan.
    3. Dans le champ Exécuter le script (JavaScript exécuté sur le serveur), saisissez le script suivant, en le remplaçant <table> par le nom de la table contenant l’enregistrement identifié et &lt;sys_id> par le sys_id de l’enregistrement que vous avez copié à l’étape 1:
      var gr = new GlideRecord('<table>');
      gr.get('<sys_id>');
      gs.eventQueue("text_index", gr, '[<table>]','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 Tous > Politique système > Events > Journal des événements et attendez que l’état du nouvel événement de mise à jour text_index passe à Traité.
      Pour rechercher 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 dans l’ordre décroissant (z à a).

    Résultats

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

    Que faire ensuite

    Répétez votre exemple de recherche. 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.