GeniusResultAnswer : incluse dans le champ d’application
L’API GeniusResultAnswer fournit des méthodes de création d’un objet de réponse dans les scripts de processeur d’une configuration de résultat Genius. Les réponses créées avec cette API définissent des demandes de recherche ou des cartes de paires clé-valeur qui peuvent renseigner les cartes de réponses de résultats Genius.
Vous pouvez renseigner l’objet de réponse avec les détails de la requête récupérés dans le contexte de la configuration des résultats Genius à l’aide de l’API GeniusResultContext .
- Si vous écrivez un script dans le AI Search request processor champ d’une configuration de résultat Genius, vous devez appeler la méthode setTable() et l’une des méthodes setSearchPhrase(),addSearchPhrases() ou setEncodedQuery(). Toutes les autres méthodes sont facultatives à l’exception de addDataMap(), qui n’est pas pertinent pour ce cas d’utilisation.
- Si vous écrivez un script dans le AI Search response processor champ d’une configuration de résultat Genius, vous devez appeler la méthode addDataMap( ). Aucune autre méthode n’est pertinente pour ce cas d’utilisation.
d’espace de noms sn_ais. Pour plus d’informations sur la logique de script pour les résultats Genius, voir Créer une configuration de résultats Genius.GeniusResultAnswer – addDataMap(Carte d’objet)
Définit une réponse de résultat Genius avec des champs de paire clé-valeur arbitraires dans le AI Search response processor script de votre configuration de résultat Genius. Vous pouvez utiliser n’importe quelle API publique ServiceNow AI Platform pour générer ces champs.
Vous pouvez ajouter plusieurs cartes de champs à un seul AI Search response processor script en appelant cette méthode plusieurs fois. Chaque carte de champs renseigne une carte de réponse de résultat Genius distincte.
| Nom | Type | Description |
|---|---|---|
| carte | Objet | Définit un ensemble arbitraire de champs de paire clé-valeur à ajouter à la réponse à la requête de recherche à partir de Recherche IA. Toutes les valeurs de champ doivent être des chaînes. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si l’appel de la méthode a réussi. Valeurs valides :
|
Ce AI Search response processor script ajoute des champs de titre personnalisés et de paire clé-valeur d’URL à l’objet de réponse pour les afficher sur une carte de réponse de résultat 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)
Ajoute des AI Search request processor termes à la requête de recherche définie dans le script de votre configuration de résultat Genius.
| Nom | Type | Description |
|---|---|---|
| searchExpressions | Tableau | Tableau de chaînes arbitraires à ajouter en tant que termes de recherche pour la requête de recherche définie dans le script de configuration de AI Search request processor votre configuration de résultat Genius. Recherche IA traite ces termes de recherche comme s’ils étaient séparés par l’opérateur OU. Exemple : |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si l’appel de la méthode a réussi. Valeurs valides :
|
Ce AI Search request processor script construit une requête de recherche pour les enregistrements de la table Utilisateur [sys_user] qui contiennent les termes Beth ou Anglin.
function process(context) {
var answer = new sn_ais.GeniusResultAnswer();
answer.setTable('sys_user');
answer.addSearchPhrases(['Beth','Anglin']);
return answer;
}
GeniusResultAnswer – setEncodedQuery(Requête de chaîne)
Spécifie une requête de recherche codée dans le AI Search request processor script de votre configuration de résultat Genius. Les résultats de cette requête de recherche codée s’affichent sous forme de cartes de réponse de résultat Genius.
| Nom | Type | Description |
|---|---|---|
| requête | Chaîne | Requête de recherche codée à envoyer à Recherche IA partir du script de votre configuration de AI Search request processor résultat Genius. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si l’appel de la méthode a réussi. Valeurs valides :
|
Ce AI Search request processor script construit une requête de recherche codée par rapport à la table Utilisateur [sys_user]. La requête finale rassemble plusieurs sous-requêtes générées à partir d’entités détectées dans la requête de recherche d’origine de l’utilisateur.
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)
Limite le nombre maximal de résultats renvoyés pour la requête de recherche définie dans le script de votre configuration de AI Search request processor résultat Genius. Par défaut, la requête de recherche renvoie jusqu’à trois résultats.
| Nom | Type | Description |
|---|---|---|
| searchLimit | Numéro | Valeur entière positive pour le nombre maximal de résultats de recherche à renvoyer pour la requête de recherche définie dans le script de votre configuration de AI Search request processor résultat Genius. Les valeurs supérieures à 3 n’ont aucun effet. Par défaut : 3 |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si l’appel de la méthode a réussi. Valeurs valides :
|
Ce AI Search request processor script recherche les enregistrements de la table Élément de catalogue [sc_cat_item] qui contiennent le terme ordinateur portable et renvoie un maximum de deux résultats.
function process(context) {
var answer = new sn_ais.GeniusResultAnswer();
answer.setTable('sc_cat_item');
answer.setSearchPhrase('laptop');
answer.setSearchLimit(2);
return answer;
}
GeniusResultAnswer – setSearchPhrase(Chaîne searchPhrase)
Spécifie les termes de la requête de recherche définie dans le AI Search request processor script de votre configuration de résultat Genius.
| Nom | Type | Description |
|---|---|---|
| searchPhrase | Chaîne | Termes à utiliser pour la requête de recherche définie dans le script de AI Search request processor votre configuration de résultat Genius. Si vous souhaitez conserver les termes de recherche de la requête qui a déclenché la configuration de résultat Genius, définissez ce paramètre sur la valeur String renvoyée par la méthode GeniusResultContext.getOriginalSearchPhrase(). |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si l’appel de la méthode a réussi. Valeurs valides :
|
Ce AI Search request processor script construit une requête de recherche pour les enregistrements de la table Utilisateur [sys_user] qui contiennent le terme Anglin.
function process(context) {
var answer = new sn_ais.GeniusResultAnswer();
answer.setTable('sys_user');
answer.setSearchPhrase('Anglin');
return answer;
}
GeniusResultAnswer – setTable(table de chaînes)
Limite la requête de recherche définie dans le script d’une AI Search request processor configuration de résultat Genius à une table spécifique. La requête renvoie uniquement les résultats de recherche de la table spécifiée sous forme de cartes de réponse de résultat Genius.
| Nom | Type | Description |
|---|---|---|
| Table | Chaîne | ServiceNow AI Platform Nom de table. Seuls les enregistrements indexés de cette table sont renvoyés en tant que résultats pour la requête de recherche définie dans le script de votre configuration de AI Search request processor résultat Genius. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si l’appel de la méthode a réussi. Valeurs valides :
|
Ce AI Search request processor script construit une requête de recherche pour les enregistrements de la table Utilisateur [sys_user] qui contiennent le terme Anglin.
function process(context) {
var answer = new sn_ais.GeniusResultAnswer();
answer.setTable('sys_user');
answer.setSearchPhrase('Anglin');
return answer;
}
GeniusResultAnswer – spellCheck(Vérification orthographique booléenne)
Indique s’il faut effectuer une correction automatique de la faute de frappe (vérification orthographique) pour la requête de recherche définie dans le script d’une configuration de AI Search request processor résultat Genius.
Si vous n’appelez pas cette méthode dans le script de AI Search request processor votre configuration de résultat Genius, la requête de recherche définie hérite du marqueur de gestion des fautes de frappe de la requête de recherche qui déclenche la configuration de résultat Genius.
| Nom | Type | Description |
|---|---|---|
| Vérification orthographique | Booléen | Marqueur indiquant s’il faut effectuer une correction automatique de la gestion des erreurs de frappe pour la requête de recherche définie dans le script de votre configuration de AI Search request processor résultat Genius. Valeurs valides :
Par défaut : true |
| Type | Description |
|---|---|
| Néant |
Ce AI Search request processor script désactive la correction automatique de la gestion des erreurs de frappe pour sa requête de recherche sur la table Utilisateur [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;
}