GeniusResultAnswer - Com escopo

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 9 min. de leitura
  • . GeniusResultAnswer A API fornece métodos para criar um objeto de resposta em scripts de processador de uma configuração de resultado do Genius. As respostas criadas com esta API definem solicitações de pesquisa ou mapas de pares de chave-valor que podem preencher cartões de resposta de resultado do Genius.

    Você pode preencher o objeto de resposta com detalhes da consulta recuperados do contexto da configuração de resultado do Genius usando GeniusResultContext API.

    . GeniusResultAnswer Os métodos de API que você precisa invocar para criar seu objeto de resposta dependem de quais Pesquisa com IA Campo do formulário Configuração de resultados do Genius que você está usando para o script:
    • Se você estiver criando scripts em uma configuração de resultado do Genius AI Search request processor, você precisa invocar Configurável() e um dos SearchPhrase() , AddSearchPhrases() ou SetEncodedQuery() métodos. Todos os outros métodos são opcionais, exceto AddDataMap() , o que não é relevante para este caso de uso.
    • Se você estiver criando scripts em uma configuração de resultado do Genius AI Search response processor, você precisa invocar AddDataMap() método. Nenhum outro método é relevante para este caso de uso.
    Use esta API em scripts do lado do servidor do Resultado do Genius com sn_ais identificador de namespace. Para obter mais informações sobre lógica de script para resultados do Genius, consulte Crie uma nova configuração de resultado do Genius .

    GeniusResultAnswer – addDataMap(Mapa de objeto)

    Define uma resposta de resultado do Genius com campos de par de chave-valor arbitrários na configuração de resultado do Genius AI Search response processorscript. Você pode utilizar qualquer público ServiceNow AI Platform API para gerar esses campos.

    Nota:
    Ao criar script em uma configuração de resultado do Genius AI Search response processor, você precisa invocar este método. Se você não invocar este método, o resultado do Genius não retornará respostas quando acionado.

    Você pode adicionar vários mapas de campo a um único AI Search response processorinvocando este método mais de uma vez. Cada mapa de campo preenche um cartão de resposta de resultado do Genius separado.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    mapa Objeto

    Define um conjunto arbitrário de campos de par de chave-valor para adição à resposta da consulta de pesquisa Pesquisa com IA. Todos os valores de campo devem ser cadeias de caracteres.

    {
      "fieldName1": String,
      "fieldName2": String
    }
    Tabela 2. Retornos
    Tipo Descrição
    Booliano

    Sinalizador que indica se a invocação do método foi bem-sucedida.

    Valores válidos:
    • Invocação do método bem-sucedida.
    • Falso: Falha na invocação do método.

    Isso AI Search response processorO script adiciona campos personalizados de par de chave-valor de URL e título ao objeto de resposta para exibição em um cartão de resposta de resultado do Genius.

    function process(context) {
      var answer = new sn_ais.GeniusResultAnswer();
    
      var customFieldMap = {
        "title": "My custom Genius Result answer",
        "url": "https://example.com/myGeniusResultLink"
      }
    
      answer.addDataMap(customFieldMap);
    
      return answer;
    }

    GeniusResultAnswer – addSearchPhrases(Array searchPhrases)

    Adiciona termos à consulta de pesquisa definida na configuração de resultado do Genius AI Search request processorscript.

    Nota:
    Ao criar script em uma configuração de resultado do Genius AI Search request processor, você deve invocar Configurável() e um dos SearchPhrase() , AddSearchPhrases() ou SetEncodedQuery() métodos. Se você não invocar ambos os métodos necessários, o resultado do Genius não retornará respostas quando acionado.
    Tabela 3. Parâmetros
    Nome Tipo Descrição
    SearchPhrases Matriz

    Matriz de cadeias de caracteres arbitrárias a serem adicionadas como termos de pesquisa para a consulta de pesquisa definida na configuração de resultado do Genius AI Search request processorscript. Pesquisa com IA Trata esses termos de pesquisa como se separados pelo operador OU.

    Exemplo:
    [
      "Term": String,
      "Quoted phrase": String
    ]
    Tabela 4. Retornos
    Tipo Descrição
    Booliano

    Sinalizador que indica se a invocação do método foi bem-sucedida.

    Valores válidos:
    • Invocação do método bem-sucedida.
    • Falso: Falha na invocação do método.

    Isso AI Search request processorO script constrói uma consulta de pesquisa para registros na tabela Usuário [sys_user] que contém os termos Beth ou Anglin .

    function process(context) {
      var answer = new sn_ais.GeniusResultAnswer();
    
      answer.setTable('sys_user');
      answer.addSearchPhrases(['Beth','Anglin']);
    
      return answer;
    }

    GeniusResultAnswer – setEncodedQuery(consulta de cadeia de caracteres)

    Especifica uma consulta de pesquisa codificada na configuração de resultado do Genius AI Search request processorscript. Os resultados desta consulta de pesquisa codificada são exibidos como cartões de resposta de Resultado do Genius.

    Nota:
    Ao criar script em uma configuração de resultado do Genius AI Search request processor, você precisa invocar Configurável() e um dos SearchPhrase() , AddSearchPhrases() ou SetEncodedQuery() métodos. Se você não invocar ambos os métodos necessários, o resultado do Genius não retornará respostas quando acionado.
    Tabela 5. Parâmetros
    Nome Tipo Descrição
    consulta Cadeia de caracteres Consulta de pesquisa codificada a ser enviada Pesquisa com IA Das configurações de resultado do Genius AI Search request processorscript.
    Tabela 6. Retornos
    Tipo Descrição
    Booliano

    Sinalizador que indica se a invocação do método foi bem-sucedida.

    Valores válidos:
    • Invocação do método bem-sucedida.
    • Falso: Falha na invocação do método.

    Isso AI Search request processorO script constrói uma consulta de pesquisa codificada na tabela Usuário [sys_user]. A consulta final une várias subconsultas geradas a partir de entidades detectadas na consulta de pesquisa original do usuário.

    function process(context) {
      var answer = new sn_ais.GeniusResultAnswer();
    
      answer.setTable('sys_user');
      answer.setSearchLimit(2);
      answer.spellCheck(false);
      var queries = [];
      var matchingSegments;
      var predictionResult = context.getPredictionResult();
      if (predictionResult && predictionResult.length == 1) {
        var detail = predictionResult[0];
        if (detail['result'] && detail['result']['entities']) {
          var entities = detail['result']['entities'];
          for (var i = 0; i < entities.length; i++) {
            if (entities[i]['name'].endsWith('personName')) {
              matchingSegments = entities[i]['matchingSegments'];
              for (var j = 0; j < matchingSegments.length; j++)
                answer.addSearchPhrases([matchingSegments[j]['value']]);
            } else if (entities[i]['name'].endsWith('cityLocation')) {
              matchingSegments = entities[i]['matchingSegments'];
              if (matchingSegments && matchingSegments.length > 0)
                queries.push('location.nameLIKE' + matchingSegments[0]['value']);
            } else if (entities[i]['name'].endsWith('departmentName')) {
              matchingSegments = entities[i]['matchingSegments'];
              if (matchingSegments && matchingSegments.length > 0)
                queries.push('department.nameLIKE' + matchingSegments[0]['value']);
            } else if (entities[i]['name'].endsWith('jobTitle')) {
              matchingSegments = entities[i]['matchingSegments'];
              if (matchingSegments && matchingSegments.length > 0)
                queries.push('titleLIKE' + matchingSegments[0]['value']);
            }
          }
        }
      }
    
      if (queries.length > 0)
        answer.setEncodedQuery(queries.join('^'));
    
      return answer;
    }

    GeniusResultAnswer – setSearchLimit(Number searchLimit)

    Limita o número máximo de resultados retornados para a consulta de pesquisa definida na configuração de resultado do Genius AI Search request processorscript. Por padrão, a consulta de pesquisa retorna até três resultados.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    SearchLimit Número

    Valor inteiro positivo para o número máximo de resultados de pesquisa a serem retornados para a consulta de pesquisa definida na configuração de resultado do Genius AI Search request processorscript. Valores acima de 3 não têm efeito.

    Padrão: 3

    Tabela 8. Retornos
    Tipo Descrição
    Booliano

    Sinalizador que indica se a invocação do método foi bem-sucedida.

    Valores válidos:
    • Invocação do método bem-sucedida.
    • Falso: Falha na invocação do método.

    Isso AI Search request processorO script pesquisa registros da tabela Item do catálogo [sc_cat_item] que contêm o termo laptop e retorna no máximo dois resultados.

    function process(context) {
      var answer = new sn_ais.GeniusResultAnswer();
    
      answer.setTable('sc_cat_item');
      answer.setSearchPhrase('laptop');
      answer.setSearchLimit(2);
    
      return answer;
    }

    GeniusResultAnswer – setSearchPhrase(cadeia de caracteres searchPhrase)

    Especifica termos para a consulta de pesquisa definida na configuração de resultado do Genius AI Search request processorscript.

    Nota:
    Ao criar script em uma configuração de resultado do Genius AI Search request processor, você precisa invocar Configurável() e um dos SearchPhrase() , AddSearchPhrases() ou SetEncodedQuery() métodos. Se você não invocar ambos os métodos necessários, o resultado do Genius não retornará respostas quando acionado.
    Tabela 9. Parâmetros
    Nome Tipo Descrição
    SearchPhrase Cadeia de caracteres

    Termos a serem usados para a consulta de pesquisa definida na configuração de resultado do Genius AI Search request processorscript.

    Se você quiser manter os termos de pesquisa da consulta que acionou a configuração de resultado do Genius, defina este parâmetro como o valor de cadeia de caracteres retornado pelo GeniusResultContext.getOriginalSearchPhrase() método.

    Tabela 10. Retornos
    Tipo Descrição
    Booliano

    Sinalizador que indica se a invocação do método foi bem-sucedida.

    Valores válidos:
    • Invocação do método bem-sucedida.
    • Falso: Falha na invocação do método.

    Isso AI Search request processorO script constrói uma consulta de pesquisa para registros da tabela Usuário [sys_user] que contém o termo Anglin .

    function process(context) {
      var answer = new sn_ais.GeniusResultAnswer();
    
      answer.setTable('sys_user');
      answer.setSearchPhrase('Anglin');
    
      return answer;
    }

    GeniusResultAnswer – configurável (tabela de cadeia de caracteres)

    Limita a consulta de pesquisa definida em uma configuração de resultado do Genius AI Search request processorscript para uma tabela específica. A consulta retorna resultados de pesquisa da tabela especificada somente como cartões de resposta de resultado do Genius.

    Nota:
    Ao criar script em uma configuração de resultado do Genius AI Search request processor, você precisa invocar este método e um dos SearchPhrase() , AddSearchPhrases() ou SetEncodedQuery() métodos. Se você não invocar ambos os métodos necessários, o resultado do Genius não retornará respostas quando acionado.
    Tabela 11. Parâmetros
    Nome Tipo Descrição
    tabela Cadeia de caracteres ServiceNow AI Platform nome da tabela. Somente registros indexados nesta tabela são retornados como resultados para a consulta de pesquisa definida na configuração de resultado do Genius AI Search request processorscript.
    Tabela 12. Retornos
    Tipo Descrição
    Booliano

    Sinalizador que indica se a invocação do método foi bem-sucedida.

    Valores válidos:
    • Invocação do método bem-sucedida.
    • Falso: Falha na invocação do método.

    Isso AI Search request processorO script constrói uma consulta de pesquisa para registros da tabela Usuário [sys_user] que contém o termo Anglin .

    function process(context) {
      var answer = new sn_ais.GeniusResultAnswer();
    
      answer.setTable('sys_user');
      answer.setSearchPhrase('Anglin');
    
      return answer;
    }

    GeniusResultAnswer – verificação ortográfica (verificação ortográfica booliana)

    Especifica se a correção automática de manipulação de erros de digitação (verificação ortográfica) deve ser realizada para a consulta de pesquisa definida em uma configuração de resultado do Genius AI Search request processorscript.

    Se você não invocar este método na configuração de resultado do Genius AI Search request processor, a consulta de pesquisa definida herda o sinalizador de manipulação de erros de digitação da consulta de pesquisa que aciona a configuração do resultado do Genius.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    Verificação ortográfica Booliano

    Sinalizador que indica se a correção automática de manipulação de erros de digitação deve ser realizada para a consulta de pesquisa definida na configuração de resultado do Genius AI Search request processorscript.

    Valores válidos:
    • Verdadeiro: Execute a correção automática de manipulação de erros de digitação para a consulta de pesquisa.
    • Falso: Ignora a correção automática de manipulação de erros de digitação para a consulta de pesquisa.

    Padrão: verdadeiro

    Tabela 14. Retornos
    Tipo Descrição
    Nenhum(a)

    Isso AI Search request processorO script desabilita a correção automática de manipulação de erros de digitação para sua consulta de pesquisa na tabela Usuário [sys_user].

    function process(context) {
      var answer = new sn_ais.GeniusResultAnswer();
    
      answer.setTable('sys_user');
      answer.setSearchLimit(2);
      answer.spellCheck(false);
      var queries = [];
      var matchingSegments;
      var predictionResult = context.getPredictionResult();
      if (predictionResult && predictionResult.length == 1) {
        var detail = predictionResult[0];
        if (detail['result'] && detail['result']['entities']) {
          var entities = detail['result']['entities'];
          for (var i = 0; i < entities.length; i++) {
            if (entities[i]['name'].endsWith('personName')) {
              matchingSegments = entities[i]['matchingSegments'];
              for (var j = 0; j < matchingSegments.length; j++)
                answer.addSearchPhrases([matchingSegments[j]['value']]);
            } else if (entities[i]['name'].endsWith('cityLocation')) {
              matchingSegments = entities[i]['matchingSegments'];
              if (matchingSegments && matchingSegments.length > 0)
                queries.push('location.nameLIKE' + matchingSegments[0]['value']);
            } else if (entities[i]['name'].endsWith('departmentName')) {
              matchingSegments = entities[i]['matchingSegments'];
              if (matchingSegments && matchingSegments.length > 0)
                queries.push('department.nameLIKE' + matchingSegments[0]['value']);
            } else if (entities[i]['name'].endsWith('jobTitle')) {
              matchingSegments = entities[i]['matchingSegments'];
              if (matchingSegments && matchingSegments.length > 0)
                queries.push('titleLIKE' + matchingSegments[0]['value']);
            }
          }
        }
      }
    
      if (queries.length > 0)
        answer.setEncodedQuery(queries.join('^'));
    
      return answer;
    }