GeniusResultAnswer - Com escopo
. 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.
- 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.
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.
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.
| 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. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a invocação do método foi bem-sucedida. Valores válidos:
|
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.
| 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: |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a invocação do método foi bem-sucedida. Valores válidos:
|
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.
| 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. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a invocação do método foi bem-sucedida. Valores válidos:
|
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.
| 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 |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a invocação do método foi bem-sucedida. Valores válidos:
|
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.
| 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. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a invocação do método foi bem-sucedida. Valores válidos:
|
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.
| 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. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a invocação do método foi bem-sucedida. Valores válidos:
|
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.
| 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:
Padrão: verdadeiro |
| 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;
}