Formulaire Rechercher les post-traitements avec script

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 3 minutes de lecture
  • Le formulaire Rechercher les post-traitements avec script contient des informations sur les scripts de post-traitement définis dans les configurations de l’application de recherche pour Recherche IA. Utilisez ce formulaire lors de la création ou de la modification de post-traitements avec script de recherche.

    Pour plus d’informations sur la création ou la modification de post-traitements avec script de recherche, reportez-vous à la section Utilisation des post-traitements avec script de recherche dans Recherche IA les configurations d’application.

    Tableau 1. Formulaire Rechercher les post-traitements avec script
    Champ Description
    Actif Option permettant d’activer le post-traitement du script de recherche.
    Nom Nom du post-processeur de script de recherche.
    Application Périmètre de l’application pour le post-processeur de script de recherche. Ce champ est automatiquement défini.
    Type

    Type d’enregistrement sur lequel le post-traitement du script de recherche fonctionne.

    Valeurs valides :
    • Genius Result: le script fonctionne sur un enregistrement de réponse de résultat Genius.
    • Search Result: le script fonctionne sur un enregistrement de résultat de recherche.
    Script de post-traitement

    Fonction de script côté serveur qui prend un objet d’enregistrement comme paramètre. Lorsque le post-traitement de script de recherche est lié à une configuration d’application de recherche, les résultats de la recherche reflètent les modifications apportées à l’objet d’enregistrement dans cette fonction de script.

    Par exemple, cette fonction de script de post-traitement fonctionne sur les résultats de recherche de la table kb_knowledge, transformant sys_updated_on valeurs de champ de date en un format lisible par l’homme :
    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);
                }
            }
        }
    }
    Remarque :
    L’interface utilisateur affiche une vue d’ensemble des méthodes d’API utilisables dans la fonction de script de post-traitement.
    Vous pouvez copier le code d’un script de post-traitement existant pour l’utiliser comme point de départ pour votre propre fonction de script. Pour accéder aux scripts de post-traitement existants, ouvrez la table Rechercher les post-traitements avec script [sys_search_scripted_processor] en mode liste en procédant comme suit :
    1. Sélectionnez Tout.
    2. Dans le champ Filtre, saisissez sys_search_scripted_processor.list.
    3. Appuyez sur Entrée.