GeniusResultContext – Scoped
Die GeniusResultContext- API stellt Methoden zum Abrufen von Suchabfrageinformationen aus dem Kontext einer Genius-Ergebniskonfiguration bereit.
Sie können mit dieser API abgerufene Suchabfragedetails verwenden, um Genius-Ergebnisantwortobjekte auszufüllen, die mit der GeniusResultAnswer- API erstellt wurden.
Verwenden Sie diese API in serverseitigen Genius-Ergebnisskripts mit dem Namespace-Identifier sn_ais. Weitere Informationen zur Skriptlogik für Genius-Ergebnisse finden Sie unter Neue Genius-Ergebniskonfiguration erstellen.
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 dem jedes Objekt ein Suchergebnisdokument darstellt, das der Suchabfrage entspricht. Datentyp: Array
Hinweis: Abhängig von der Suchabfrage können einige der Indexfelder KI-Suche des Suchergebnisdokuments zusätzlich zu den aufgelisteten Name-Wert-Paaren im Objekt angezeigt werden. |
| [Array]..score | 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 ihn vom allgemeinen Punktzahlfeld des KI-Suche -Index zu unterscheiden. |
| [Array]..table | Name der Tabelle Now Platform, aus der das Suchergebnisdokument indiziert wurde. Datentyp: Zeichenfolge Hinweis: Der Name für dieses Name-Wert-Paar beginnt mit einem Punkt, um ihn vom allgemeinen Feld der IndextabelleKI-Suche zu unterscheiden. |
| [Array]..text | Indizierter Text aus dem Suchergebnisdokument. Datentyp: Zeichenfolge Hinweis: Der Name für dieses Name-Wert-Paar beginnt mit einem Punkt, um ihn vom allgemeinen Textfeld des Index KI-Suche zu unterscheiden. |
| [Array]..title | Indexierter Titel für das Suchergebnisdokument. Datentyp: Zeichenfolge Hinweis: Der Name für dieses Name-Wert-Paar beginnt mit einem Punkt, um ihn vom allgemeinen Titelfeld des KI-Suche -Index zu unterscheiden. |
| [Array]..url | URL für das Suchergebnisdokument. Datentyp: Zeichenfolge Hinweis: Der Name für dieses Name-Wert-Paar beginnt mit einem Punkt, um ihn vom allgemeinen URL -Feld des KI-Suche -Index zu unterscheiden. |
| [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 Indexfelds KI-Suche. |
Dieses AI Search response processor Skript ruft bis zu drei Suchergebnisdokumente ab, die der Suchabfrage entsprechen, und prüft, ob eines davon aus der Wissenstabelle [kb_knowledge] stammt. Wenn ein Suchergebnisdokument aus der Wissenstabelle gefunden wird, fügt die Funktion die Felder dieses Dokuments dem GeniusResultAnswer- Objekt hinzu, damit die Benutzeroberfläche sie dem Benutzer 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 mithilfe von GeniusResultAnswer- API-Methoden auszufüllen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Ursprüngliche Begriffe aus der Suchabfrage. Datentyp: Zeichenfolge |
Dieses AI Search request processor -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 NLU Modellvorhersageergebnisse für die Suchabfrage ab, 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. Sie können Genius-Ergebnisantworten mit Details aus der erkannten Absicht mithilfe von GeniusResultAnswer- API-Methoden ausfüllen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| [Array] | Array von Objekten, in dem jedes Objekt ein NLU Modellabsichtsvorhersageergebnis für die Suchabfrage darstellt. Datentyp: Array |
| [Array].intentName | Name der in der Suchabfrage erkannten Modellabsicht NLU. Datentyp: Zeichenfolge |
| [Array].result | Objekt, das das Absichtsvorhersageergebnis des Modells NLU für die Suchabfrage darstellt. Datentyp: Objekt |
| [Array].result.application | Objekt mit Metadaten für die Suchanwendung, die das Vorhersageergebnis generiert hat. Datentyp: Objekt |
| [Array].result.application.language | Sprachkontext für die Anwendung Now Platform, die das Vorhersageergebnis generiert hat. Datentyp: Zeichenfolge |
| [Array].result.application.type | Typ der Anwendung Now Platform, die das Vorhersageergebnis generiert hat. Datentyp: Zeichenfolge |
| [Array].result.result | Objekt mit Details für das Ergebnis der Modellabsichtsvorhersage NLU. Datentyp: Objekt |
| [Array].result.result.entities | Array von Objekten, in dem jedes Objekt eine in der Suchabfrage erkannte Modellabsichtsentität NLU darstellt. Datentyp: Array |
| [Array].result.result.entities.matchingSegments | Array von Objekten, in dem jedes Objekt ein übereinstimmendes Segment der erkannten Entität NLU darstellt. Datentyp: Array |
| [Array].result.result.entities.matchingSegments.directMatch | Kennzeichnung, die angibt, ob das übereinstimmende Entitätssegment NLU eine exakte Übereinstimmung mit dem Entitätswert darstellt. |
| [Array].result.result.entities.matchingSegments.meta | Objekt, das Schlüssel-Wert-Paar-Felder enthält, die Metadaten für das übereinstimmende Entitätssegment NLU darstellen. Datentyp: Objekt |
| [Array].result.result.entities.matchingSegments.value | Zeichenfolgenwert der Entität NLU, die dem Segment entspricht. Datentyp: Zeichenfolge |
| [Array].result.result.entities.name | Name für die erkannte Entität NLU ] im Format „entity:[NLU_model].[intent].[entity_type]. Datentyp: Zeichenfolge |
| [Array].result.result.entities.parts | Array von Objekten, in dem jedes Objekt einen NLU -Entitätsteil darstellt, der im Vorhersageergebnis gefunden wurde. Datentyp: Array |
| [Array].result.result.entities.parts.meta | Objekt, das Schlüssel-Wert-Paar-Felder enthält, die Metadaten für den Entitätsteil NLU darstellen. Datentyp: Objekt |
| [Array].result.result.entities.parts.value | Zeichenfolgenwert des Entitätsteils NLU. Datentyp: Zeichenfolge |
| [Array].result.result.entities.score | Numerische Punktzahl von 0 bis 1, die die Konfidenz für die erkannte Entität NLU angibt. Datentyp: Zahl |
| [Array].result.result.entities.startingPosition | Numerischer Index für die Zeichenposition in der Suchabfrage, an der die erkannte Entität NLU beginnt. Datentyp: Zahl |
| [Array].result.result.entities.value | Zeichenfolgenwert von NLU, der in der Suchabfrage erkannt wurde. Datentyp: Zeichenfolge |
| [Array].result.result.intentName | Name der in der Suchabfrage erkannten Modellabsicht NLU. Datentyp: Zeichenfolge |
| [Array].result.result.intents | Array von Objekten, in dem jedes Objekt eine verschachtelte NLU Modellabsicht darstellt, die in der Suchabfrage erkannt wurde. Verschachtelte Absichtsobjekte enthalten dieselben Parameternamen und Datentypen wie das übergeordnete Absichtsobjekt des Modells NLU. Datentyp: Array |
| [Array].result.result.nluModelName | Name des Modells NLU, das das Vorhersageergebnis generiert hat. Datentyp: Zeichenfolge |
| [Array].result.result.score | Numerische Punktzahl von 0 bis 1, die die Konfidenz für das Vorhersageergebnis des Modells NLU angibt. Datentyp: Zahl |
| [Array].result.solutionLabel | Bezeichnung für das Modell NLU, das das Vorhersageergebnis generiert hat. Datentyp: Zeichenfolge |
| [Array].result.solutionName | Name für das Modell NLU, das das Vorhersageergebnis generiert hat. Datentyp: Zeichenfolge |
| [Array].result.solutionType | Typ für das Modell NLU, das das Vorhersageergebnis generiert hat. Datentyp: Zeichenfolge |
| [Array].result.type | Typ des Vorhersageergebnisses. Datentyp: Zeichenfolge |
| [Array].result.version | Version des Modells NLU, das das Vorhersageergebnis generiert hat. Datentyp: Zahl |
| [Array].solutionName | Name des Modells NLU, das das Vorhersageergebnis generiert hat. Datentyp: Zeichenfolge |
Dieses AI Search request processor -Skript überprüft, ob die Suchabfrage ein NLU -Modellvorhersageergebnis enthält. Wenn ein Vorhersageergebnis gefunden wird, werden die übereinstimmenden Segmente aus allen erkannten catalogItem-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;
}