Indizieren Sie eine Tabelle neu, ohne die Textsuchergebnisse zu beeinträchtigen

  • Freigeben Version: Xanadu
  • Aktualisiert 10. August 2024
  • 1 Minute Lesedauer
  • Erstellen Sie Textsuchindizes neu, ohne die Suchergebnisse zu beeinträchtigen. Sie können weiterhin Textsuchen in einer Tabelle durchführen, während die erneute Generierung des Index stattfindet.

    Vorbereitungen

    Erforderliche Rolle: admin
    Hinweis:
    Wenn der Wert der Systemeigenschaft glide.script_processor.admin vom Standardwert geändert wurde, benötigen Sie die durch diesen Eigenschaftswert angegebene Rolle. Einzelheiten zu diesem Eigenschaftswert und seinen Auswirkungen finden Sie unter Restrict access to background script [Updated in Security Center 1.3 and 2.0].

    Warum und wann dieser Vorgang ausgeführt wird

    Diese Neuindizierungsmethode löscht nicht den gesamten Textsuchindex, bevor die Neuerstellung stattfindet. Der Textsuchtabellenindex wird für jeden Datensatz neu erstellt und nur die Zieltabellenhierarchie neu indiziert. Wenn Sie beispielsweise die Tabelle „sc_cat_item“ auswählen, wird nur die Tabelle „sc_cat_item“ neu indiziert.

    Prozedur

    1. Navigieren zu Alle > Systemdefinition > Skripts – Hintergrundan.
      Hinweis:
      Wenn der Wert der Systemeigenschaft glide.script_processor.admin auf security_admin festgelegt ist, müssen Sie auf diese privilegierte Rolle hochstufen, um auf dieses Modul zugreifen zu können. Weitere Informationen zum Erhöhen von Berechtigungen finden Sie unter Elevated privilege roles.
    2. Geben Sie im Textfeld Skript ausführen (JavaScript auf dem Server ausgeführt) das folgende Hintergrundskript ein. Achten Sie darauf, beide Argumente wie dargestellt in Anführungszeichen zu setzen:
      new GlideTextIndexEvent ( ).indexUpdate('TABLE_NAME', 'EMAIL_ADDRESS');
      Wobei:
      • TABLE_NAME ist der Name der Tabelle, die Sie neu indizieren möchten.
        Hinweis:
        Nur die angegebene Tabelle und ihre untergeordneten Tabellen werden neu indiziert.
      • EMAIL_ADDRESS ist die Adresse, an die eine E-Mail-Benachrichtigung gesendet werden soll, wenn die Neuindizierung der Tabelle abgeschlossen ist. Geben Sie null für keine E-Mail-Benachrichtigung ein.
      Um beispielsweise den Textsuchindex der Tabelle „kb_knowledge“ neu zu generieren und anzugeben, dass nach Abschluss der Neuerstellung keine E-Mail-Benachrichtigung erforderlich ist, erstellen Sie das folgende Hintergrundskript:
      new GlideTextIndexEvent ( ).indexUpdate('kb_knowledge', 'null');
      Das Skript erstellt ein Ereignis, das vom Index-Handler verarbeitet wird, sodass das Skript abgeschlossen wird, ohne nach Abschluss des Neuindexierungsauftrags zu blockieren.
    3. Wählen Sie Skript ausführen aus.

    Ergebnisse

    Das System indiziert die Textsuche für die angegebene Tabelle neu. Bei großen Tabellen wie sys_metadata kann die erneute Indizierung einige Stunden dauern. Sie können jedoch weiterhin Textsuchen in der Tabelle durchführen, während das Skript ausgeführt wird.