GeniusResultAnswer : Bereichsbezogen

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 7 Minuten Lesedauer
  • 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.

    Welche GeniusResultAnswer -API-Methoden Sie aufrufen müssen, um Ihr Antwortobjekt zu erstellen, hängt davon ab, welches Formularfeld KI-Suche Genius-Ergebniskonfiguration Sie für Ihr Skript verwenden:
    • 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.
    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.

    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.

    Hinweis:
    Beim Skripting im Feld AI Search response processor einer Genius-Ergebniskonfiguration müssen Sie diese Methode aufrufen. Wenn Sie diese Methode nicht aufrufen, gibt das Genius-Ergebnis bei Auslösung keine Antworten zurück.

    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.

    Tabelle : 1. Parameter
    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.

    {
      "fieldName1": String,
      "fieldName2": String
    }
    Tabelle : 2. Rückgaben
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war.

    Gültige Werte:
    • „wahr“: Der Aufruf der Methode war erfolgreich.
    • „falsch“: Fehler beim Aufrufen der Methode.

    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.

    Hinweis:
    Beim Skripting im Feld AI Search request processor einer Genius-Ergebniskonfiguration müssen Sie die Methode setTable() und eine der Methoden setSearchPhrase(), addSearchPhrases()oder setEncodedQuery() aufrufen. Wenn Sie nicht beide erforderlichen Methoden aufrufen, gibt Ihr Genius-Ergebnis bei Auslösung keine Antworten zurück.
    Tabelle : 3. Parameter
    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:
    [
      "Term": String,
      "Quoted phrase": String
    ]
    Tabelle : 4. Rückgaben
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war.

    Gültige Werte:
    • „wahr“: Der Aufruf der Methode war erfolgreich.
    • „falsch“: Fehler beim Aufrufen der Methode.

    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.

    Hinweis:
    Beim Skripting im Feld AI Search request processor einer Genius-Ergebniskonfiguration müssen Sie die Methode setTable() und eine der Methoden setSearchPhrase(), addSearchPhrases()oder setEncodedQuery() aufrufen. Wenn Sie nicht beide erforderlichen Methoden aufrufen, gibt Ihr Genius-Ergebnis bei Auslösung keine Antworten zurück.
    Tabelle : 5. Parameter
    Name Typ Beschreibung
    query Zeichenfolge Codierte Suchabfrage, die aus dem Skript KI-Suche Ihrer Genius-Ergebniskonfiguration an AI Search request processor gesendet wird.
    Tabelle : 6. Rückgaben
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war.

    Gültige Werte:
    • „wahr“: Der Aufruf der Methode war erfolgreich.
    • „falsch“: Fehler beim Aufrufen der Methode.

    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.

    Tabelle : 7. Parameter
    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

    Tabelle : 8. Rückgaben
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war.

    Gültige Werte:
    • „wahr“: Der Aufruf der Methode war erfolgreich.
    • „falsch“: Fehler beim Aufrufen der Methode.

    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.

    Hinweis:
    Beim Skripting im Feld AI Search request processor einer Genius-Ergebniskonfiguration müssen Sie die Methode setTable() und eine der Methoden setSearchPhrase(), addSearchPhrases()oder setEncodedQuery() aufrufen. Wenn Sie nicht beide erforderlichen Methoden aufrufen, gibt Ihr Genius-Ergebnis bei Auslösung keine Antworten zurück.
    Tabelle : 9. Parameter
    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.

    Tabelle : 10. Rückgaben
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war.

    Gültige Werte:
    • „wahr“: Der Aufruf der Methode war erfolgreich.
    • „falsch“: Fehler beim Aufrufen der Methode.

    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.

    Hinweis:
    Beim Skripting im Feld AI Search request processor einer Genius-Ergebniskonfiguration müssen Sie diese Methode und eine der Methoden setSearchPhrase(), addSearchPhrases()oder setEncodedQuery() aufrufen. Wenn Sie nicht beide erforderlichen Methoden aufrufen, gibt Ihr Genius-Ergebnis bei Auslösung keine Antworten zurück.
    Tabelle : 11. Parameter
    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.
    Tabelle : 12. Rückgaben
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, ob der Aufruf der Methode erfolgreich war.

    Gültige Werte:
    • „wahr“: Der Aufruf der Methode war erfolgreich.
    • „falsch“: Fehler beim Aufrufen der Methode.

    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.

    Tabelle : 13. Parameter
    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:
    • „wahr“: Führt eine automatische Korrektur der Tippfehlerbehandlung für die Suchabfrage durch.
    • „falsch“: Automatische Korrektur der Tippfehlerbehandlung für die Suchabfrage umgehen.

    Standardwert: wahr

    Tabelle : 14. Rückgaben
    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;
    }