GeniusResultAnswer – Umfang
Die GeniusResultAnswer Die API bietet Methoden zum Erstellen eines Antwortobjekts in den Prozessorskripts einer Genius-Ergebniskonfiguration. Mit dieser API erstellte Antworten definieren Suchanforderungen oder Schlüssel-Wert-Paarzuordnungen, die Genius-Ergebnisantwortkarten ausfüllen können.
Sie können das Antwortobjekt mit Abfragedetails ausfüllen, die aus dem Kontext der Genius-Ergebniskonfiguration abgerufen wurden, indem Sie verwenden GeniusResultContext API.
- Wenn Sie in einer Genius-Ergebniskonfiguration skripten AI Search request processorFeld müssen Sie aufrufen Einstellbar () Methode und einer der SetSearchPhrase() , AddSearchPhrases() , Oder SetEncodedQuery() Methoden. Alle anderen Methoden mit Ausnahme von sind optional AddDataMap() , Was für diesen Anwendungsfall nicht relevant ist.
- Wenn Sie in einer Genius-Ergebniskonfiguration skripten AI Search response processorFeld müssen Sie aufrufen AddDataMap() Methode. Für diesen Anwendungsfall sind keine anderen Methoden relevant.
sn_ais Namespace-Bezeichner. Weitere Informationen zur Skripting-Logik für Genius-Ergebnisse finden Sie unter Erstellen Sie eine neue Genius-Ergebniskonfiguration .GeniusResultAnswer – addDataMap(Objektzuordnung)
Definiert eine Genius-Ergebnisantwort mit beliebigen Schlüssel-Wert-Paarfeldern in Ihren Genius-Ergebniskonfigurationen AI Search response processorSkript. Sie können alle öffentlichen verwenden ServiceNow AI Platform API zum Generieren dieser Felder.
Sie können mehrere Feldzuordnungen zu einer einzelnen hinzufügen AI Search response processorSkript, indem diese Methode mehrmals aufgerufen wird. Jede Feldzuordnung füllt eine separate Genius-Ergebnisantwortkarte aus.
| Name | Typ | Beschreibung |
|---|---|---|
| Zuordnen | Objekt | Definiert einen beliebigen Satz von Schlüssel-Wert-Paarfeldern, die zur Suchabfrageantwort von hinzugefügt werden sollen KI-Suche. Alle Feldwerte müssen Zeichenfolgen sein. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war. Gültige Werte:
|
Dies AI Search response processorDas Skript fügt anwenderdefinierte Titel- und URL-Schlüssel-Wert-Paarfelder zum Antwortobjekt hinzu, um sie auf einer Genius-Ergebnisantwortkarte anzuzeigen.
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)
Fügt der Suchabfrage, die in Ihren Genius-Ergebniskonfigurationen definiert ist, Begriffe hinzu AI Search request processorSkript.
| Name | Typ | Beschreibung |
|---|---|---|
| SearchPhrasen | Array | Array von beliebigen Zeichenfolgen, die als Suchbegriffe für die in Ihren Genius-Ergebniskonfigurationen definierte Suchabfrage hinzugefügt werden sollen AI Search request processorSkript. KI-Suche Behandelt diese Suchbegriffe so, als wären sie durch den Operator ODER getrennt. Beispiel: |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war. Gültige Werte:
|
Dies AI Search request processorDas Skript erstellt eine Suchabfrage für Datensätze in der Anwendertabelle [sys_user], die die Begriffe enthalten Beth Oder Anglin .
function process(context) {
var answer = new sn_ais.GeniusResultAnswer();
answer.setTable('sys_user');
answer.addSearchPhrases(['Beth','Anglin']);
return answer;
}
GeniusResultAnswer – setEncodedQuery(Zeichenfolgenabfrage)
Gibt eine codierte Suchabfrage in Ihren Genius-Ergebniskonfigurationen an AI Search request processorSkript. Ergebnisse dieser codierten Suchabfrage werden als Genius-Ergebnisantwortkarten angezeigt.
| Name | Typ | Beschreibung |
|---|---|---|
| query | Zeichenfolge | Codierte Suchabfrage, an die gesendet werden soll KI-Suche Aus Ihren Genius-Ergebniskonfigurationen AI Search request processorSkript. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war. Gültige Werte:
|
Dies AI Search request processorDas Skript erstellt eine codierte Suchabfrage für die Anwendertabelle [sys_user]. Die endgültige Abfrage verbindet mehrere Unterabfragen, die aus Entitäten generiert wurden, die in der ursprünglichen Suchabfrage des Anwenders erkannt wurden.
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)
Begrenzt die maximale Anzahl von Ergebnissen, die für die in Ihrer Genius-Ergebniskonfiguration definierte Suchabfrage zurückgegeben werden AI Search request processorSkript. Standardmäßig gibt die Suchabfrage bis zu drei Ergebnisse zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| SearchLimit | Anzahl | Positiver ganzzahliger Wert für die maximale Anzahl von Suchergebnissen, die für die in Ihren Genius-Ergebniskonfigurationen definierte Suchabfrage zurückgegeben werden sollen AI Search request processorSkript. Werte über 3 haben keine Auswirkungen. Standard: 3 |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war. Gültige Werte:
|
Dies AI Search request processorSkript sucht nach Datensätzen aus der Tabelle „Katalogelement“ [sc_Cat_item], die den Begriff enthalten Laptop Und gibt maximal zwei Ergebnisse zurück.
function process(context) {
var answer = new sn_ais.GeniusResultAnswer();
answer.setTable('sc_cat_item');
answer.setSearchPhrase('laptop');
answer.setSearchLimit(2);
return answer;
}
GeniusResultAnswer – setSearchPhrase(Zeichenfolge searchPhrase)
Gibt Begriffe für die Suchabfrage an, die in Ihren Genius-Ergebniskonfigurationen definiert sind AI Search request processorSkript.
| Name | Typ | Beschreibung |
|---|---|---|
| SearchPhrase | Zeichenfolge | Begriffe, die für die Suchabfrage verwendet werden sollen, die in Ihren Genius-Ergebniskonfigurationen definiert sind AI Search request processorSkript. Wenn Sie die Suchbegriffe aus der Abfrage beibehalten möchten, die die Genius-Ergebniskonfiguration ausgelöst hat, legen Sie diesen Parameter auf den vom zurückgegebenen Zeichenfolgenwert fest GeniusResultContext.getOriginalSearchPhrase() Methode. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war. Gültige Werte:
|
Dies AI Search request processorDas Skript erstellt eine Suchabfrage für Datensätze aus der Anwendertabelle [sys_user], die den Begriff enthalten Anglin .
function process(context) {
var answer = new sn_ais.GeniusResultAnswer();
answer.setTable('sys_user');
answer.setSearchPhrase('Anglin');
return answer;
}
GeniusResultAnswer – Settable (Zeichenfolgentabelle)
Beschränkt die Suchabfrage, die in einer Genius-Ergebniskonfiguration definiert ist AI Search request processorSkript für eine bestimmte Tabelle. Die Abfrage gibt nur Suchergebnisse aus der angegebenen Tabelle als Genius-Ergebnisantwortkarten zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| table | Zeichenfolge | ServiceNow AI Platform Tabellenname. Nur indizierte Datensätze in dieser Tabelle werden als Ergebnisse für die in Ihrer Genius-Ergebniskonfiguration definierte Suchabfrage zurückgegeben AI Search request processorSkript. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war. Gültige Werte:
|
Dies AI Search request processorDas Skript erstellt eine Suchabfrage für Datensätze aus der Anwendertabelle [sys_user], die den Begriff enthalten Anglin .
function process(context) {
var answer = new sn_ais.GeniusResultAnswer();
answer.setTable('sys_user');
answer.setSearchPhrase('Anglin');
return answer;
}
GeniusResultAnswer – Rechtschreibprüfung (boolesche Rechtschreibprüfung)
Gibt an, ob die automatische Tippfehlerbehandlung (Rechtschreibprüfung) für die in einer Genius-Ergebniskonfiguration definierte Suchabfrage durchgeführt werden soll AI Search request processorSkript.
Wenn Sie diese Methode nicht in Ihren Genius-Ergebniskonfigurationen aufrufen AI Search request processorSkript, erbt die definierte Suchabfrage die Tippfehlerbehandlungskennzeichnung von der Suchabfrage, die die Genius-Ergebniskonfiguration auslöst.
| Name | Typ | Beschreibung |
|---|---|---|
| Rechtschreibprüfung | Boolean | Kennzeichnung, die angibt, ob die automatische Tippfehlerbehandlung für die in Ihren Genius-Ergebniskonfigurationen definierte Suchabfrage durchgeführt werden soll AI Search request processorSkript. Gültige Werte:
Standardwert: wahr |
| Typ | Beschreibung |
|---|---|
| Keine |
Dies AI Search request processorDas Skript deaktiviert die automatische Tippfehlerbehandlung für seine Suchabfrage für die Anwendertabelle [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;
}