GeniusResultAnswer - com escopo
A API GeniusResultAnswer fornece métodos para criar um objeto de resposta em scripts do processador de uma configuração de resultado do Genius. As respostas criadas com esta API definem solicitações de pesquisa ou mapas de par 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 a API GeniusResultContext.
- Se você estiver criando scripts em um campo AI Search request processor da configuração de resultado do Genius, precisará invocar o método setTable() e um dos métodos setSearchPhrase(), addSearchPhrases()ou setEncodedQuery(). Todos os outros métodos são opcionais, exceto addDataMap(), que não é relevante para este caso de uso.
- Se você estiver criando scripts em um campo AI Search response processor da configuração de resultado do Genius, precisará invocar o método addDataMap(). Nenhum outro método é relevante para este caso de uso.
sn_ais. Para obter mais informações sobre lógica de script para resultados do Genius, consulte Criar 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 no script AI Search response processor da configuração de resultado do Genius. Você pode utilizar qualquer API Now Platform pública para gerar esses campos.
Você pode adicionar vários mapas de campo a um único script AI Search response processor invocando este método mais de uma vez. Cada mapa de campo preenche um cartão de resposta de resultado do Genius separado.
| 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 de Pesquisa com IA. Todos os valores de campo devem ser cadeias de caracteres. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a invocação do método foi bem-sucedida. Valores válidos:
|
Este script AI Search response processor adiciona campos personalizados de título e par de chave-valor de URL 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 no script AI Search request processor da configuração de resultado do Genius.
| Nome | Tipo | Descrição |
|---|---|---|
| frases de pesquisa | Matriz | Matriz de cadeias de caracteres arbitrárias a serem adicionadas como termos de pesquisa para a consulta de pesquisa definida no script AI Search request processor da configuração de resultado do Genius. Pesquisa com IA trata esses termos de pesquisa como se fossem separados pelo operador OR. Exemplo: |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a invocação do método foi bem-sucedida. Valores válidos:
|
Este script AI Search request processor 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(cadeia de caracteres consulta)
Especifica uma consulta de pesquisa codificada no script AI Search request processor da configuração de resultado do Genius. Os resultados desta consulta de pesquisa codificada são exibidos como cartões de resposta de resultado do Genius.
| Nome | Tipo | Descrição |
|---|---|---|
| consulta | Cadeia de caracteres | Consulta de pesquisa codificada a ser enviada para Pesquisa com IA a partir do script AI Search request processor da configuração de resultado do Genius. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a invocação do método foi bem-sucedida. Valores válidos:
|
Este script AI Search request processor constrói uma consulta de pesquisa codificada em relação à 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 no script AI Search request processor da configuração de resultado do Genius. Por padrão, a consulta de pesquisa retorna até três resultados.
| Nome | Tipo | Descrição |
|---|---|---|
| limite de pesquisa | Número | Valor inteiro positivo para o número máximo de resultados de pesquisa a serem retornados para a consulta de pesquisa definida no script AI Search request processor da configuração de resultado do Genius. Valores acima de 3 não têm efeito. Padrão: 3 |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a invocação do método foi bem-sucedida. Valores válidos:
|
Este script AI Search request processor 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 no script AI Search request processor da configuração de resultado do Genius.
| Nome | Tipo | Descrição |
|---|---|---|
| frase de pesquisa | Cadeia de caracteres | Termos a serem usados para a consulta de pesquisa definida no script AI Search request processor da configuração de resultado do Genius. Se você quiser reter os termos de pesquisa da consulta que acionou a configuração de resultado do Genius, defina este parâmetro com o valor de cadeia de caracteres retornado pelo método GeniusResultContext.getOriginalSearchPhrase(). |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a invocação do método foi bem-sucedida. Valores válidos:
|
Este script AI Search request processor 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 – setTable(cadeia de caracteres da tabela)
Limita a consulta de pesquisa definida em um script AI Search request processor de configuração de resultado do Genius a uma tabela específica. A consulta retorna somente resultados de pesquisa da tabela especificada como cartões de resposta de resultado do Genius.
| Nome | Tipo | Descrição |
|---|---|---|
| tabela | Cadeia de caracteres | Now Platform nome da tabela. Somente registros indexados nesta tabela são retornados como resultados para a consulta de pesquisa definida no script AI Search request processor da configuração de resultado do Genius. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a invocação do método foi bem-sucedida. Valores válidos:
|
Este script AI Search request processor 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 – spokeCheck (booliano SpletCheck)
Especifica se a correção automática de erros de digitação (verificação ortográfica) deve ser executada para a consulta de pesquisa definida em um script AI Search request processor de configuração de resultado do Genius.
Se você não invocar este método no script AI Search request processor da configuração de resultado do Genius, a consulta de pesquisa definida herdará o sinalizador de manipulação de erro de digitação da consulta de pesquisa que aciona a configuração de resultado do Genius.
| Nome | Tipo | Descrição |
|---|---|---|
| Verificação ortográfica | Booliano | Sinalizador que indica se a correção automática de erros de digitação deve ser executada para a consulta de pesquisa definida no script AI Search request processor da configuração de resultado do Genius. Valores válidos:
Padrão: verdadeiro |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
Este script AI Search request processor desabilita a correção automática de erros de digitação para sua consulta de pesquisa em relação à 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;
}