GeniusResultAnswer : Bereichsbezogen
Die GeniusResultAnswer- 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-Ergebnis-Antwortkarten ausfüllen können.
Sie können das Antwortobjekt mit Abfragedetails füllen, die mithilfe der GeniusResultContext -API aus dem Kontext der Genius-Ergebniskonfiguration abgerufen wurden.
- Wenn Sie im Feld AI Search request processor einer Genius-Ergebniskonfiguration Skripting durchführen, müssen Sie die Methode setTable() und eine der Methoden setSearchPhrase(), addSearchPhrases()oder setEncodedQuery() aufrufen. Alle anderen Methoden sind optional, mit Ausnahme von addDataMap(), das für diesen Anwendungsfall nicht relevant ist.
- Wenn Sie im Feld AI Search response processor einer Genius-Ergebniskonfiguration Skripts erstellen, müssen Sie die Methode „addDataMap()“ aufrufen. Für diesen Anwendungsfall sind keine weiteren Methoden relevant.
sn_ais. Weitere Informationen zur Skriptlogik für Genius-Ergebnisse finden Sie unter Neue Genius-Ergebniskonfiguration erstellen.GeniusResultAnswer – addDataMap(Objektzuordnung)
Definiert eine Genius-Ergebnisantwort mit beliebigen Schlüssel-Wert-Paarfeldern im Skript AI Search response processor Ihrer Genius-Ergebniskonfiguration. Sie können jede öffentliche Now Platform API verwenden, um diese Felder zu generieren.
Sie können einem einzelnen AI Search response processor -Skript mehrere Feldzuordnungen hinzufügen, indem Sie diese Methode mehrmals aufrufen. Jede Feldzuordnung füllt eine separate Genius-Ergebnisantwortkarte.
| Name | Typ | Beschreibung |
|---|---|---|
| Zuordnen | Objekt | Definiert einen beliebigen Satz von Schlüssel-Wert-Paarfeldern für die Hinzufügung zur Suchabfrageantwort von KI-Suche. Alle Feldwerte müssen Zeichenfolgen sein. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war. Gültige Werte:
|
Dieses AI Search response processor -Skript fügt dem Antwortobjekt anwenderdefinierte Schlüssel-Wert-Paar-Felder für Titel und URL hinzu, die auf einer Genius-Ergebnis-Antwortkarte angezeigt werden sollen.
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 im Skript AI Search request processor Ihrer Genius-Ergebniskonfiguration definiert ist, Begriffe hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| searchPhrases | Array | Array von beliebigen Zeichenfolgen, die als Suchbegriffe für die im Skript AI Search request processor Ihrer Genius-Ergebniskonfiguration definierte Suchabfrage hinzugefügt werden sollen. KI-Suche behandelt diese Suchbegriffe so, als ob sie durch den ODER-Operator getrennt würden. Beispiel: |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war. Gültige Werte:
|
Dieses Skript AI Search request processor erstellt eine Suchabfrage für Datensätze in der Tabelle „Benutzer“ [sys_user], die die Begriffe Beth oder Anglinenthalten.
function process(context) {
var answer = new sn_ais.GeniusResultAnswer();
answer.setTable('sys_user');
answer.addSearchPhrases(['Beth','Anglin']);
return answer;
}
GeniusResultAnswer – setEncodedQuery(String query)
Gibt eine codierte Suchabfrage im Skript AI Search request processor Ihrer Genius-Ergebniskonfiguration an. Ergebnisse aus dieser codierten Suchabfrage werden als Genius-Ergebnis-Antwortkarten angezeigt.
| Name | Typ | Beschreibung |
|---|---|---|
| query | Zeichenfolge | Codierte Suchabfrage, die aus dem Skript KI-Suche Ihrer Genius-Ergebniskonfiguration an AI Search request processor gesendet wird. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war. Gültige Werte:
|
Dieses Skript AI Search request processor erstellt eine codierte Suchabfrage für die Tabelle „Benutzer“ [sys_user]. Die endgültige Abfrage fügt mehrere Unterabfragen zusammen, 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 der zurückgegebenen Ergebnisse für die Suchabfrage, die im Skript AI Search request processor Ihrer Genius-Ergebniskonfiguration definiert ist. Standardmäßig gibt die Suchabfrage bis zu drei Ergebnisse zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| searchLimit | Nummer | Positiver ganzzahliger Wert für die maximale Anzahl von Suchergebnissen, die für die im Skript AI Search request processor Ihrer Genius-Ergebniskonfiguration definierte Suchabfrage zurückgegeben werden sollen. Werte über 3 haben keine Auswirkung. Standard: 3 |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war. Gültige Werte:
|
Dieses Skript AI Search request processor sucht nach Datensätzen in der Tabelle „Katalogelement“ [sc_cat_item], die den Begriff Laptop enthalten, 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(String searchPhrase)
Gibt Begriffe für die Suchabfrage an, die im Skript AI Search request processor Ihrer Genius-Ergebniskonfiguration definiert ist.
| Name | Typ | Beschreibung |
|---|---|---|
| searchPhrase | Zeichenfolge | Begriffe, die für die Suchabfrage verwendet werden sollen, die im Skript AI Search request processor Ihrer Genius-Ergebniskonfiguration definiert ist. Wenn Sie die Suchbegriffe aus der Abfrage beibehalten möchten, die die Konfiguration des Genius-Ergebnisses ausgelöst hat, legen Sie diesen Parameter auf den Wert Zeichenfolge fest, der von der Methode GeniusResultContext.getOriginalSearchPhrase() zurückgegeben wird. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war. Gültige Werte:
|
Dieses Skript AI Search request processor erstellt eine Suchabfrage für Datensätze aus der Tabelle „Benutzer“ [sys_user], die den Begriff Anglinenthalten.
function process(context) {
var answer = new sn_ais.GeniusResultAnswer();
answer.setTable('sys_user');
answer.setSearchPhrase('Anglin');
return answer;
}
GeniusResultAnswer – setTable(String table)
Beschränkt die im Skript AI Search request processor einer Genius-Ergebniskonfiguration definierte Suchabfrage auf eine bestimmte Tabelle. Die Abfrage gibt nur Suchergebnisse aus der angegebenen Tabelle als Genius-Ergebnis-Antwortkarten zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| table | Zeichenfolge | Now Platform Tabellenname Nur indizierte Datensätze in dieser Tabelle werden als Ergebnisse für die Suchabfrage zurückgegeben, die im Skript AI Search request processor Ihrer Genius-Ergebniskonfiguration definiert ist. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war. Gültige Werte:
|
Dieses Skript AI Search request processor erstellt eine Suchabfrage für Datensätze aus der Tabelle „Benutzer“ [sys_user], die den Begriff Anglinenthalten.
function process(context) {
var answer = new sn_ais.GeniusResultAnswer();
answer.setTable('sys_user');
answer.setSearchPhrase('Anglin');
return answer;
}
GeniusResultAnswer – Rechtschreibprüfung (Boolean Rechtschreibprüfung)
Gibt an, ob eine automatische Korrektur der Tippfehlerbehandlung (Rechtschreibprüfung) für die Suchabfrage durchgeführt werden soll, die im Skript AI Search request processor einer Genius-Ergebniskonfiguration definiert ist.
Wenn Sie diese Methode nicht im Skript AI Search request processor Ihrer Genius-Ergebniskonfiguration aufrufen, erbt die definierte Suchabfrage die Kennzeichnung für die Tippfehlerbehandlung von der Suchabfrage, die die Genius-Ergebniskonfiguration auslöst.
| Name | Typ | Beschreibung |
|---|---|---|
| Rechtschreibprüfung | Boolean | Kennzeichnung, die angibt, ob eine automatische Korrektur der Tippfehlerbehandlung für die Suchabfrage durchgeführt werden soll, die im Skript AI Search request processor Ihrer Genius-Ergebniskonfiguration definiert ist. Gültige Werte:
Standardwert: wahr |
| Typ | Beschreibung |
|---|---|
| Keine |
Dieses AI Search request processor -Skript deaktiviert die automatische Korrektur der Tippfehlerbehandlung für seine Suchabfrage in der Benutzertabelle [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;
}