Formular „Geskriptete Postprozessoren durchsuchen“.

  • Freigeben Version: Xanadu
  • Aktualisiert 5. August 2024
  • 2 Minuten Lesedauer
  • Das Formular für die Suche nach geskripteten Postprozessoren enthält Informationen zu Nachverarbeitungsskripts, die in den Suchanwendungskonfigurationen für KI-Suchedefiniert sind. Verwenden Sie dieses Formular, wenn Sie geskriptete Postprozessoren für die Suche erstellen oder ändern.

    Weitere Informationen zum Erstellen oder Bearbeiten von geskripteten Postprozessoren für die Suche finden Sie unter Verwenden von geskripteten Postprozessoren für die Suche in KI-Suche -Anwendungskonfigurationen.

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

    Typ des Datensatzes, den der Postprozessor für das Suchskript bearbeitet.

    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 akzeptiert. Wenn der geskriptete Such-Postprozessor mit einer Suchanwendungskonfiguration verknüpft ist, spiegeln die Suchergebnisse die Änderungen wider, die in dieser Skriptfunktion am Datensatzobjekt vorgenommen wurden.

    Beispiel: Diese Nachverarbeitungsskriptfunktion verarbeitet Suchergebnisse aus der Tabelle „kb_knowledge“ und wandelt die Werte des Datumsfelds „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 Anwenderoberfläche zeigt eine Übersicht über API-Methoden, die in der Skriptfunktion für die Nachverarbeitung verwendet werden können.
    Sie können Code aus einem vorhandenen Postprozessorskript kopieren und als Ausgangspunkt für Ihre eigene Skriptfunktion verwenden. Um auf vorhandene Postprozessorskripts zuzugreifen, öffnen Sie die Tabelle „Nachprozessoren mit Skript durchsuchen“ [sys_search_scripted_processor] in der Listenansicht, indem Sie die folgenden Schritte ausführen:
    1. Wählen Sie Alleaus.
    2. Geben Sie im Feld Filter sys_search_scripted_processor.listein.
    3. Drücken Sie die Eingabetaste.