Formular „geskriptete Postprozessoren durchsuchen“

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 2 Minuten Lesedauer
  • Das Formular „geskriptete Postprozessoren durchsuchen“ enthält Informationen zu Nachverarbeitungsskripts, die in Suchanwendungskonfigurationen für definiert sind KI-Suche. Verwenden Sie dieses Formular, wenn Sie geskriptete Postprozessoren für die Suche erstellen oder ändern.

    Details zum Erstellen oder Bearbeiten von geskripteten Postprozessoren für die Suche finden Sie unter Mithilfe der Suche geskriptete Postprozessoren in KI-Suche Anwendungskonfigurationen.

    Tabelle : 1. Formular „geskriptete Postprozessoren durchsuchen“
    Feld Beschreibung
    Aktiv Option zum Aktivieren des Suchskript-Postprozessors.
    Name Name für den Postprozessor des Suchskripts.
    Anwendung Anwendungsbereich für den Suchskript-Postprozessor. Dieses Feld wird automatisch festgelegt.
    Typ

    Typ des Datensatzes, für den der Postprozessor des Suchskripts verwendet wird.

    Gültige Werte:
    • Genius Result: Skript wird für einen Genius-Ergebnisantwortdatensatz ausgeführt.
    • Search Result: Skript wird für einen Suchergebnisdatensatz ausgeführt.
    Nachbearbeitungsskript

    Serverseitige Skriptfunktion, die ein Datensatzobjekt als Parameter verwendet. Wenn der geskriptete Postprozessor für die Suche mit einer Suchanwendungskonfiguration verknüpft ist, spiegeln die Suchergebnisse Änderungen wider, die in dieser Skriptfunktion am Datensatzobjekt vorgenommen wurden.

    Beispielsweise funktioniert diese Nachverarbeitungsskriptfunktion auf Suchergebnissen aus der Tabelle kb_Knowledge und wandelt sys_updated_on Datumsfeldwerte in ein visuell lesbares Format um:
    function process(record) {
    
        var transformableTables = ['kb_knowledge'];
        var transformableDateFields = ['sys_updated_on'];
    
        var table = record.getTable();
    
        // Terminate early if possible, to avoid unnecessary overhead
        if (transformableTables.indexOf(table) === -1)
            return;
    
        function transformToHumanFriendlyDate(rawDate) {
            // Time gaps in ms
            var MINUTE_GAP = 60000;
            var HOUR_GAP = 3600000;
            var DAY_GAP = 86400000;
            var WEEK_GAP = 604800000;
            var MONTH_GAP = 2592000000;
            var YEAR_GAP = 31536000000;
    
            var gap = new Date().getTime() - rawDate;
            if (gap < MINUTE_GAP) {
                return gs.getMessage('Just Now');
            } else if (gap > MINUTE_GAP && gap < 2 * MINUTE_GAP) {
                return gs.getMessage('1 minute ago');
            } else if (gap < HOUR_GAP) {
                return gs.getMessage('{0} minutes ago', '' + Math.floor(gap / MINUTE_GAP));
            } else if (gap > HOUR_GAP && gap < 2 * HOUR_GAP) {
                return gs.getMessage('1 hour ago');
            } else if (gap < DAY_GAP) {
                return gs.getMessage('{0} hours ago', '' + Math.floor(gap / HOUR_GAP));
            } else if (gap > DAY_GAP && gap < 2 * DAY_GAP) {
                return gs.getMessage('1 day ago');
            } else if (gap < WEEK_GAP) {
                return gs.getMessage('{0} days ago', '' + Math.floor(gap / DAY_GAP));
            } else if (gap > WEEK_GAP && gap < 2 * WEEK_GAP) {
                return gs.getMessage('1 week ago');
            } else if (gap < MONTH_GAP) {
                return gs.getMessage('{0} weeks ago', '' + Math.floor(gap / WEEK_GAP));
            } else if (gap > MONTH_GAP && gap < 2 * MONTH_GAP) {
                return gs.getMessage('1 month ago');
            } else if (gap < YEAR_GAP) {
                return gs.getMessage('{0} months ago', '' + Math.floor(gap / MONTH_GAP));
            } else if (gap > YEAR_GAP && gap < 2 * YEAR_GAP) {
                return gs.getMessage('1 year ago');
            } else {
                return gs.getMessage('{0} years ago', '' + Math.floor(gap / YEAR_GAP));
            }
        }
    
        for (var i = 0; i < transformableDateFields.length; i++) {
            var fieldName = transformableDateFields[i];
            var updatedDateField = record.getField(fieldName);
            if (updatedDateField !== null) {
                var updatedDateRaw = updatedDateField.getValue();
                if (updatedDateRaw != null) {
                    var humanFriendlyDate = transformToHumanFriendlyDate(updatedDateRaw);
                    updatedDateField.setDisplayValue(humanFriendlyDate);
                }
            }
        }
    }
    Hinweis:
    Die UI zeigt eine Übersicht über API-Methoden an, die in der Nachverarbeitungsskriptfunktion verwendet werden können.
    Sie können Code aus einem vorhandenen Postprozessorskript kopieren, um ihn als Ausgangspunkt für Ihre eigene Skriptfunktion zu verwenden. Um auf vorhandene Postprozessorskripts zuzugreifen, öffnen Sie die Tabelle geskriptete Postprozessoren suchen [sys_search_scripted_processor] in der Listenansicht, indem Sie die folgenden Schritte ausführen:
    1. Wählen Sie Aus Alle .
    2. Geben Sie im Feld Filter ein sys_search_scripted_processor.list .
    3. Drücken Sie die Eingabetaste.