Geskriptete Postprozessoren durchsuchen

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 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 von geskripteten Postprozessoren in suchen KI-SucheAnwendungskonfigurationen.

    Tabelle : 1. Geskriptete Postprozessoren durchsuchen
    Feld Beschreibung
    Aktiv Option zum Aktivieren des Postprozessors des Suchskripts.
    Name Name für den Postprozessor des Suchskripts.
    Anwendung Anwendungsbereich für den Postprozessor des Suchskripts. 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 für Suchergebnisse aus der Tabelle „kb_Knowledge“ und wandelt die Datumsfeldwerte „sys_updated_on“ 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 es als Ausgangspunkt für Ihre eigene Skriptfunktion zu verwenden. Um auf vorhandene Postprozessorskripts zuzugreifen, öffnen Sie die Tabelle geskriptete Postprozessoren durchsuchen [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.