Pesquisar formulário de pós-processadores com script

  • Versão de lançamento: Xanadu
  • Atualizado 5 de ago. de 2024
  • 3 min. de leitura
  • O formulário Pesquisar pós-processadores com script contém informações sobre scripts de pós-processamento definidos nas configurações da aplicação de pesquisa para Pesquisa com IA. Use este formulário ao criar ou modificar pós-processadores com script de pesquisa.

    Para obter detalhes sobre como criar ou editar pós-processadores de script de pesquisa, consulte Como usar pós-processadores com script de pesquisa em Pesquisa com IA configurações da aplicação.

    Tabela 1. Pesquisar formulário de pós-processadores com script
    Campo Descrição
    Ativo Opção para ativar o pós-processador do script de pesquisa.
    Nome Nome do pós-processador do script de pesquisa.
    Aplicação Escopo da aplicação para o pós-processador do script de pesquisa. Esse campo é definido automaticamente.
    Tipo

    Tipo de registro em que o pós-processador do script de pesquisa opera.

    Valores válidos:
    • Genius Result: o script opera em um registro de resposta de resultado do Genius.
    • Search Result: O script opera em um registro de resultado de pesquisa.
    Script de pós-processamento

    Função de script do lado do servidor que usa um objeto de registro como parâmetro. Quando o pós-processador com script de pesquisa está vinculado a uma configuração de aplicação de pesquisa, os resultados da pesquisa refletem as mudanças feitas no objeto de registro nesta função de script.

    Por exemplo, esta função de script de pós-processamento opera nos resultados da pesquisa da tabela kb_knowledge, transformando os valores do campo de data sys_updated_on em um formato legível:
    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);
                }
            }
        }
    }
    Nota:
    A IU exibe uma visão geral dos métodos de API utilizáveis na função de script de pós-processamento.
    Você pode copiar o código de um script de pós-processador existente para usar como ponto de partida para sua própria função de script. Para acessar scripts de pós-processador existentes, abra a tabela Pesquisar pós-processadores com script [sys_search_scripted_processor] na exibição de lista seguindo estas etapas:
    1. Selecione “Tudo”.
    2. No campo Filtro, insira sys_search_scripted_processor.list.
    3. Pressione Enter.