GeniusResultContext – Umfang
Die GeniusResultContext Die API bietet Methoden zum Abrufen von Suchabfragekriterien aus dem Kontext einer Genius-Ergebniskonfiguration.
Sie können Suchabfragedetails verwenden, die mit dieser API abgerufen wurden, um Genius-Ergebnisantwortobjekte auszufüllen, die mit erstellt wurden GeniusResultAnswer API.
Verwenden Sie diese API in serverseitigen Genius-Ergebnisskripts mit sn_ais Namespace-Bezeichner. Weitere Informationen zur Skripting-Logik für Genius-Ergebnisse finden Sie unter Erstellen Sie eine neue Genius-Ergebniskonfiguration .
GeniusResultContext – getMatchingDocuments()
Ruft Suchergebnisdokumente aus der Suchabfrage ab, die Ihre Genius-Ergebniskonfiguration auslöst.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| [Array] | Array von Objekten, in denen jedes Objekt ein Suchergebnisdokument darstellt, das der Suchabfrage entspricht. Datentyp: Array
Hinweis: Abhängig von der Suchabfrage werden einige der Suchergebnisdokumente verwendet KI-Suche Indexfelder können im Objekt zusätzlich zu den aufgeführten Name-Wert-Paaren angezeigt werden. |
| [Array]..Punktzahl | Relevanzpunktzahl, die für das Suchergebnisdokument im Kontext der Suchabfrage berechnet wird. Datentyp: Zahl Hinweis: Der Name für dieses Name-Wert-Paar beginnt mit einem Punkt, um es von zu unterscheiden KI-Suche Index Punktzahl Allgemeines Feld. |
| [Array]..Tabelle | Name des ServiceNow AI Platform Tabelle, aus der das Suchergebnisdokument indiziert wurde. Datentyp: Zeichenfolge Hinweis: Der Name für dieses Name-Wert-Paar beginnt mit einem Punkt, um es von zu unterscheiden KI-Suche Index Tabelle Allgemeines Feld. |
| [Array]..Text | Indizierter Text aus dem Suchergebnisdokument. Datentyp: Zeichenfolge Hinweis: Der Name für dieses Name-Wert-Paar beginnt mit einem Punkt, um es von zu unterscheiden KI-Suche Index Text Allgemeines Feld. |
| [Array]..Titel | Indizierter Titel für das Suchergebnisdokument. Datentyp: Zeichenfolge Hinweis: Der Name für dieses Name-Wert-Paar beginnt mit einem Punkt, um es von zu unterscheiden KI-Suche Index Titel Allgemeines Feld. |
| [Array]..url | URL für das Suchergebnisdokument. Datentyp: Zeichenfolge Hinweis: Der Name für dieses Name-Wert-Paar beginnt mit einem Punkt, um es von zu unterscheiden KI-Suche Index url Allgemeines Feld. |
| [Array].class_Name | Die untergeordnete Klasse, zu der das Suchergebnisdokument gehört. Weitere Informationen zu untergeordneten Tabellenklassen finden Sie unter Table extension and classes. Datentyp: Zeichenfolge |
| [Array].sys_ID | SYS_ID für das Suchergebnisdokument. Datentyp: Zeichenfolge |
| [Array].<field_name> | KI-Suche Indexfeld aus dem Suchergebnisdokument. Datentyp: Der Datentyp des KI-Suche Indexfeld. |
Dies AI Search response processorDas Skript ruft bis zu drei Suchergebnisdokumente ab, die mit der Suchabfrage übereinstimmen, und überprüft, ob eines davon aus der Tabelle „Wissen“ [kb_Knowledge] stammt. Wenn ein Suchergebnisdokument aus der Tabelle „Wissen“ gefunden wird, fügt die Funktion die Felder dieses Dokuments zu hinzu GeniusResultAnswer Objekt, damit die Anwenderoberfläche sie dem Anwender anzeigen kann.
function process(context) {
var answer = new sn_ais.GeniusResultAnswer();
var matchingDocuments = context.getMatchingDocuments();
if (matchingDocuments.length > 1) {
for (var i = 0; i < 3; i++) {
var currentDocument = matchingDocuments[i];
if (currentDocument['.table'] == 'kb_knowledge') {
var gr = new GlideRecord("kb_knowledge");
if (gr.get(currentDocument['sys_id'])) {
answer.addDataMap({
"number": currentDocument['number'],
"url": currentDocument['.url'],
"title": currentDocument['.title']
});
}
}
break;
}
}
return answer;
}
GeniusResultContext – getOriginalSearchPhrase()
Ruft die ursprünglichen Suchbegriffe aus der Suchabfrage ab, die Ihre Genius-Ergebniskonfiguration auslöst.
Sie können abgerufene Suchbegriffe verwenden, um Genius-Ergebnisantworten mit auszufüllen GeniusResultAnswer API-Methoden.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Ursprüngliche Begriffe aus der Suchabfrage. Datentyp: Zeichenfolge |
Dies AI Search request processorDas Skript ruft die ursprünglichen Begriffe der Suchabfrage ab und verwendet sie als Abfragebegriffe für eine neue Fragmentsuche.
function process(context) {
var answer = new sn_ais.GeniusResultAnswer();
var searchPhrase = context.getOriginalSearchPhrase();
answer.setSearchPhrase(searchPhrase);
answer.snippetSearch(true);
return answer;
}
GeniusResultContext – getPredictionResult()
Ruft Ab NLU Modellvorhersageergebnisse für die Suchabfrage, die Ihre Genius-Ergebniskonfiguration auslöst.
Verwenden Sie diese Methode im Anforderungs- oder Antwortprozessorskript einer Genius-Ergebniskonfiguration, um die für die auslösende Suchabfrage erkannte Absicht abzurufen. Mit können Sie Genius-Ergebnisantworten mit Details aus der erkannten Absicht ausfüllen GeniusResultAnswer API-Methoden.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| [Array] | Array von Objekten, in denen jedes Objekt einen darstellt NLU Ergebnis der Modellabsichtsvorhersage für die Suchabfrage. Datentyp: Array |
| [Array].intentName | Name des NLU Modellabsicht in der Suchabfrage erkannt. Datentyp: Zeichenfolge |
| [Array].Ergebnis | Objekt, das darstellt NLU Ergebnis der Modellabsichtsvorhersage für die Suchabfrage. Datentyp: Objekt |
| [Array].Ergebnis.Anwendung | Objekt mit Metadaten für die Suchanwendung, die das Vorhersageergebnis generiert hat. Datentyp: Objekt |
| [Array].Ergebnis.Anwendung.Sprache | Sprachkontext für ServiceNow AI Platform Anwendung, die das Vorhersageergebnis erzeugt hat. Datentyp: Zeichenfolge |
| [Array].Ergebnis.Anwendung.Typ | Typ des ServiceNow AI Platform Anwendung, die das Vorhersageergebnis erzeugt hat. Datentyp: Zeichenfolge |
| [Array].Ergebnis.Ergebnis | Objekt, das Details für enthält NLU Ergebnis der Modellabsichtsvorhersage. Datentyp: Objekt |
| [Array].Ergebnis.Ergebnis.Entitäten | Array von Objekten, in denen jedes Objekt einen darstellt NLU Entität der Modellabsicht in der Suchabfrage erkannt. Datentyp: Array |
| [Array].Ergebnis.Entitäten.übereinstimmende Segmente | Array von Objekten, in denen jedes Objekt ein übereinstimmendes Segment des erkannten darstellt NLU Entität. Datentyp: Array |
| [Array].Ergebnis.Entitäten.MatchingSegments.directMatch | Kennzeichnung, die angibt, ob NLU Das Entitätsübereinstimmungssegment stellt eine genaue Übereinstimmung für den Entitätswert dar. |
| [Array].Ergebnis.Entitäten.MatchingSegmente.Meta | Objekt mit Schlüssel-Wert-Paarfeldern, die Metadaten für darstellen NLU Entitätsübereinstimmendes Segment. Datentyp: Objekt |
| [Array].Ergebnis.Entitäten.MatchingSegmente.Wert | Zeichenfolgenwert von NLU Entitätsübereinstimmendes Segment. Datentyp: Zeichenfolge |
| [Array].result.result.entities.name | Name für erkannte NLU Entität, in Entität:[NLU_model].[Absicht].[Entity_type] Format. Datentyp: Zeichenfolge |
| [Array].result.result.entities.parts | Array von Objekten, in denen jedes Objekt einen darstellt NLU Entitätsteil im Vorhersageergebnis gefunden. Datentyp: Array |
| [Array].Ergebnis.Entitäten.Teile.Meta | Objekt mit Schlüssel-Wert-Paarfeldern, die Metadaten für darstellen NLU Entitätsteil. Datentyp: Objekt |
| [Array].Ergebnis.Entitäten.Teile.Wert | Zeichenfolgenwert von NLU Entitätsteil. Datentyp: Zeichenfolge |
| [Array].Ergebnis.Ergebnis.Entitäten.Punktzahl | Numerische Punktzahl von 0 bis 1, die die Konfidenz für den erkannten angibt NLU Entität. Datentyp: Zahl |
| [Array].Ergebnis.Ergebnis.Entitäten.Startposition | Numerischer Index für die Zeichenposition in der Suchabfrage, an der erkannt wurde NLU Entität beginnt. Datentyp: Zahl |
| [Array].Ergebnis.Ergebnis.Entitäten.Wert | Zeichenfolgenwert von NLU In der Suchabfrage erkannt. Datentyp: Zeichenfolge |
| [Array].result.result.intentName | Name des NLU Modellabsicht in der Suchabfrage erkannt. Datentyp: Zeichenfolge |
| [Array].result.result.intents | Array von Objekten, in denen jedes Objekt ein geschachteltes darstellt NLU Modellabsicht in der Suchabfrage erkannt. Geschachtelte Absichtsobjekte enthalten dieselben Parameternamen und Datentypen wie das übergeordnete Element NLU Modellabsichtsobjekt. Datentyp: Array |
| [Array].result.result.nluModelName | Name des NLU Modell, das das Vorhersageergebnis erzeugt hat. Datentyp: Zeichenfolge |
| [Array].Ergebnis.Ergebnis.Punktzahl | Numerische Punktzahl von 0 bis 1, die die Konfidenz für angibt NLU Modellvorhersageergebnis. Datentyp: Zahl |
| [Array].result.solutionLabel | Bezeichnung für NLU Modell, das das Vorhersageergebnis erzeugt hat. Datentyp: Zeichenfolge |
| [Array].result.SolutionName | Name für NLU Modell, das das Vorhersageergebnis erzeugt hat. Datentyp: Zeichenfolge |
| [Array].result.solutionType | Geben Sie für ein NLU Modell, das das Vorhersageergebnis erzeugt hat. Datentyp: Zeichenfolge |
| [Array].Ergebnis.Typ | Typ des Vorhersageergebnisses. Datentyp: Zeichenfolge |
| [Array].Ergebnis.Version | Version von NLU Modell, das das Vorhersageergebnis erzeugt hat. Datentyp: Zahl |
| [Array].SolutionName | Name des NLU Modell, das das Vorhersageergebnis erzeugt hat. Datentyp: Zeichenfolge |
Dies AI Search request processorDas Skript überprüft, ob die Suchabfrage einen enthält NLU Modellvorhersageergebnis. Wenn ein Vorhersageergebnis gefunden wird, werden die übereinstimmenden Segmente aus allen erkannten katalogItem-Entitäten als Suchbegriffe hinzugefügt.
function process(context) {
var answer = new sn_ais.GeniusResultAnswer();
answer.setTable('sc_cat_item');
answer.setSearchLimit(2);
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('catalogItem')) {
var matchingSegments = entities[i]['matchingSegments'];
for (var j = 0; j < matchingSegments.length; j++)
answer.addSearchPhrases([matchingSegments[j]['value']]);
}
}
}
}
return answer;
}