GeniusResultContext: Bereichsbezogen
Die GeniusResultContext- API bietet Methoden zum Abrufen von Suchabfrageinformationen aus dem Kontext einer Genius-Ergebniskonfiguration.
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-Bezeichner 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: Je nach Suchabfrage können einige der Indexfelder KI-Suche des Suchergebnisdokuments zusätzlich zu den aufgeführten 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 es vom allgemeinen Feld der Tabelle des KI-Suche -Index 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 | Indizierter 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 Index KI-Suche 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 Skript AI Search response processor ruft bis zu drei Suchergebnisdokumente ab, die mit der Suchabfrage übereinstimmen, 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 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 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 Absicht abzurufen, die für die auslösende Suchabfrage erkannt wurde. Sie können Genius-Ergebnisantworten mit Details aus der erkannten Absicht ausfüllen, indem Sie GeniusResultAnswer- API-Methoden verwenden.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| [Array] | Array von Objekten, in dem jedes Objekt ein NLU -Modell der Absichtsvorhersageergebnis für die Suchabfrage darstellt. Datentyp: Array |
| [Array].intentName | Name der NLU -Modellabsicht, die in der Suchabfrage erkannt wurde. Datentyp: Zeichenfolge |
| [Array].result | Objekt, das das Ergebnis der Absichtsvorhersage des Modells NLU für die Suchabfrage darstellt. Datentyp: Objekt |
| [Array].result.application | Objekt mit Metadaten für die Suchanwendung, die das Vorhersageergebnis erzeugt hat. Datentyp: Objekt |
| [Array].result.application.language | Sprachkontext für die Anwendung Now Platform, die das Vorhersageergebnis erzeugt hat. Datentyp: Zeichenfolge |
| [Array].result.application.type | Typ der Anwendung Now Platform, die das Vorhersageergebnis erzeugt hat. Datentyp: Zeichenfolge |
| [Array].Ergebnis.Ergebnis | Objekt mit Details für das Ergebnis der Modellabsichtsvorhersage NLU. Datentyp: Objekt |
| [Array].result.result.entities | Array von Objekten, in dem jedes Objekt eine NLU -Modellabsichtsentität darstellt, die in der Suchabfrage erkannt wurde. Datentyp: Array |
| [Array].result.result.entities.matchingSegments | Array von Objekten, in dem jedes Objekt ein übereinstimmendes Segment der erkannten NLU -Entität darstellt. Datentyp: Array |
| [Array].result.result.entities.matchingSegments.directMatch | Kennzeichnung, die angibt, ob das übereinstimmende Entitätssegment NLU eine genaue Übereinstimmung mit dem Entitätswert darstellt. |
| [Array].result.result.entities.matchingSegments.meta | Objekt mit Feldern als Schlüssel-Wert-Paar, die Metadaten für das Entitätsübereinstimmungssegment NLU darstellen. Datentyp: Objekt |
| [Array].result.result.entities.matchingSegments.value | Zeichenfolgenwert des Entitätsübereinstimmungssegments NLU. 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 mit Feldern als Schlüssel-Wert-Paar, 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 NLU -Entität 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 NLU -Modellabsicht, die in der Suchabfrage erkannt wurde. Datentyp: Zeichenfolge |
| [Array].Ergebnis.Ergebnis.Absichten | Array von Objekten, in dem jedes Objekt eine geschachtelte NLU -Modellabsicht darstellt, die in der Suchabfrage erkannt wurde. Geschachtelte Absichtsobjekte enthalten dieselben Parameternamen und Datentypen wie das übergeordnete Modellabsichtsobjekt NLU. Datentyp: Array |
| [Array].result.result.nluModelName | Name des Modells NLU, das das Vorhersageergebnis erzeugt 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 erzeugt hat. Datentyp: Zeichenfolge |
| [Array].result.solutionName | Name für das Modell NLU, das das Vorhersageergebnis erzeugt hat. Datentyp: Zeichenfolge |
| [Array].result.solutionType | Typ für das Modell NLU, das das Vorhersageergebnis erzeugt hat. Datentyp: Zeichenfolge |
| [Array].result.type | Typ des Vorhersageergebnisses. Datentyp: Zeichenfolge |
| [Array].result.version | Version des Modells NLU, das das Vorhersageergebnis erzeugt hat. Datentyp: Zahl |
| [Array].solutionName | Name des Modells NLU, das das Vorhersageergebnis erzeugt 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;
}