GeniusResultAnswer – Umfang

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 7 Minuten Lesedauer
  • Die GeniusResultAnswer Die 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-Ergebnisantwortkarten ausfüllen können.

    Sie können das Antwortobjekt mit Abfragedetails ausfüllen, die aus dem Kontext der Genius-Ergebniskonfiguration abgerufen wurden, indem Sie verwenden GeniusResultContext API.

    Die GeniusResultAnswer API-Methoden, die Sie aufrufen müssen, um Ihr Antwortobjekt zu erstellen, hängen davon ab KI-Suche Formularfeld „Genius-Ergebniskonfiguration“, das Sie für Ihr Skript verwenden:
    • Wenn Sie in einer Genius-Ergebniskonfiguration skripten AI Search request processorFeld müssen Sie aufrufen Einstellbar () Methode und einer der SetSearchPhrase() , AddSearchPhrases() , Oder SetEncodedQuery() Methoden. Alle anderen Methoden mit Ausnahme von sind optional AddDataMap() , Was für diesen Anwendungsfall nicht relevant ist.
    • Wenn Sie in einer Genius-Ergebniskonfiguration skripten AI Search response processorFeld müssen Sie aufrufen AddDataMap() Methode. Für diesen Anwendungsfall sind keine anderen Methoden relevant.
    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 .

    GeniusResultAnswer – addDataMap(Objektzuordnung)

    Definiert eine Genius-Ergebnisantwort mit beliebigen Schlüssel-Wert-Paarfeldern in Ihren Genius-Ergebniskonfigurationen AI Search response processorSkript. Sie können alle öffentlichen verwenden ServiceNow AI Platform API zum Generieren dieser Felder.

    Hinweis:
    Beim Skripten in einer Genius-Ergebniskonfiguration AI Search response processorFeld 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 mehrere Feldzuordnungen zu einer einzelnen hinzufügen AI Search response processorSkript, indem diese Methode mehrmals aufgerufen wird. Jede Feldzuordnung füllt eine separate Genius-Ergebnisantwortkarte aus.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Zuordnen Objekt

    Definiert einen beliebigen Satz von Schlüssel-Wert-Paarfeldern, die zur Suchabfrageantwort von hinzugefügt werden sollen 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: Aufruf der Methode erfolgreich.
    • Falsch: Fehler beim Aufrufen der Methode.

    Dies AI Search response processorDas Skript fügt anwenderdefinierte Titel- und URL-Schlüssel-Wert-Paarfelder zum Antwortobjekt hinzu, um sie auf einer Genius-Ergebnisantwortkarte anzuzeigen.

    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 in Ihren Genius-Ergebniskonfigurationen definiert ist, Begriffe hinzu AI Search request processorSkript.

    Hinweis:
    Beim Skripten in einer Genius-Ergebniskonfiguration AI Search request processorFeld müssen Sie aufrufen Einstellbar () Methode und einer der SetSearchPhrase() , AddSearchPhrases() , Oder SetEncodedQuery() Methoden. Wenn Sie nicht beide erforderlichen Methoden aufrufen, gibt Ihr Genius-Ergebnis bei Auslösung keine Antworten zurück.
    Tabelle : 3. Parameter
    Name Typ Beschreibung
    SearchPhrasen Array

    Array von beliebigen Zeichenfolgen, die als Suchbegriffe für die in Ihren Genius-Ergebniskonfigurationen definierte Suchabfrage hinzugefügt werden sollen AI Search request processorSkript. KI-Suche Behandelt diese Suchbegriffe so, als wären sie durch den Operator ODER getrennt.

    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: Aufruf der Methode erfolgreich.
    • Falsch: Fehler beim Aufrufen der Methode.

    Dies AI Search request processorDas Skript erstellt eine Suchabfrage für Datensätze in der Anwendertabelle [sys_user], die die Begriffe enthalten Beth Oder Anglin .

    function process(context) {
      var answer = new sn_ais.GeniusResultAnswer();
    
      answer.setTable('sys_user');
      answer.addSearchPhrases(['Beth','Anglin']);
    
      return answer;
    }

    GeniusResultAnswer – setEncodedQuery(Zeichenfolgenabfrage)

    Gibt eine codierte Suchabfrage in Ihren Genius-Ergebniskonfigurationen an AI Search request processorSkript. Ergebnisse dieser codierten Suchabfrage werden als Genius-Ergebnisantwortkarten angezeigt.

    Hinweis:
    Beim Skripten in einer Genius-Ergebniskonfiguration AI Search request processorFeld müssen Sie aufrufen Einstellbar () Methode und einer der SetSearchPhrase() , AddSearchPhrases() , Oder SetEncodedQuery() Methoden. 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, an die gesendet werden soll KI-Suche Aus Ihren Genius-Ergebniskonfigurationen AI Search request processorSkript.
    Tabelle : 6. Rückgaben
    Typ Beschreibung
    Boolean

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

    Gültige Werte:
    • Wahr: Aufruf der Methode erfolgreich.
    • Falsch: Fehler beim Aufrufen der Methode.

    Dies AI Search request processorDas Skript erstellt eine codierte Suchabfrage für die Anwendertabelle [sys_user]. Die endgültige Abfrage verbindet mehrere Unterabfragen, 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 von Ergebnissen, die für die in Ihrer Genius-Ergebniskonfiguration definierte Suchabfrage zurückgegeben werden AI Search request processorSkript. Standardmäßig gibt die Suchabfrage bis zu drei Ergebnisse zurück.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    SearchLimit Anzahl

    Positiver ganzzahliger Wert für die maximale Anzahl von Suchergebnissen, die für die in Ihren Genius-Ergebniskonfigurationen definierte Suchabfrage zurückgegeben werden sollen AI Search request processorSkript. Werte über 3 haben keine Auswirkungen.

    Standard: 3

    Tabelle : 8. Rückgaben
    Typ Beschreibung
    Boolean

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

    Gültige Werte:
    • Wahr: Aufruf der Methode erfolgreich.
    • Falsch: Fehler beim Aufrufen der Methode.

    Dies AI Search request processorSkript sucht nach Datensätzen aus der Tabelle „Katalogelement“ [sc_Cat_item], die den Begriff enthalten Laptop 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(Zeichenfolge searchPhrase)

    Gibt Begriffe für die Suchabfrage an, die in Ihren Genius-Ergebniskonfigurationen definiert sind AI Search request processorSkript.

    Hinweis:
    Beim Skripten in einer Genius-Ergebniskonfiguration AI Search request processorFeld müssen Sie aufrufen Einstellbar () Methode und einer der SetSearchPhrase() , AddSearchPhrases() , Oder SetEncodedQuery() Methoden. 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 in Ihren Genius-Ergebniskonfigurationen definiert sind AI Search request processorSkript.

    Wenn Sie die Suchbegriffe aus der Abfrage beibehalten möchten, die die Genius-Ergebniskonfiguration ausgelöst hat, legen Sie diesen Parameter auf den vom zurückgegebenen Zeichenfolgenwert fest GeniusResultContext.getOriginalSearchPhrase() Methode.

    Tabelle : 10. Rückgaben
    Typ Beschreibung
    Boolean

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

    Gültige Werte:
    • Wahr: Aufruf der Methode erfolgreich.
    • Falsch: Fehler beim Aufrufen der Methode.

    Dies AI Search request processorDas Skript erstellt eine Suchabfrage für Datensätze aus der Anwendertabelle [sys_user], die den Begriff enthalten Anglin .

    function process(context) {
      var answer = new sn_ais.GeniusResultAnswer();
    
      answer.setTable('sys_user');
      answer.setSearchPhrase('Anglin');
    
      return answer;
    }

    GeniusResultAnswer – Settable (Zeichenfolgentabelle)

    Beschränkt die Suchabfrage, die in einer Genius-Ergebniskonfiguration definiert ist AI Search request processorSkript für eine bestimmte Tabelle. Die Abfrage gibt nur Suchergebnisse aus der angegebenen Tabelle als Genius-Ergebnisantwortkarten zurück.

    Hinweis:
    Beim Skripten in einer Genius-Ergebniskonfiguration AI Search request processorFeld müssen Sie diese Methode und eine der aufrufen SetSearchPhrase() , AddSearchPhrases() , Oder SetEncodedQuery() Methoden. 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 ServiceNow AI Platform Tabellenname. Nur indizierte Datensätze in dieser Tabelle werden als Ergebnisse für die in Ihrer Genius-Ergebniskonfiguration definierte Suchabfrage zurückgegeben AI Search request processorSkript.
    Tabelle : 12. Rückgaben
    Typ Beschreibung
    Boolean

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

    Gültige Werte:
    • Wahr: Aufruf der Methode erfolgreich.
    • Falsch: Fehler beim Aufrufen der Methode.

    Dies AI Search request processorDas Skript erstellt eine Suchabfrage für Datensätze aus der Anwendertabelle [sys_user], die den Begriff enthalten Anglin .

    function process(context) {
      var answer = new sn_ais.GeniusResultAnswer();
    
      answer.setTable('sys_user');
      answer.setSearchPhrase('Anglin');
    
      return answer;
    }

    GeniusResultAnswer – Rechtschreibprüfung (boolesche Rechtschreibprüfung)

    Gibt an, ob die automatische Tippfehlerbehandlung (Rechtschreibprüfung) für die in einer Genius-Ergebniskonfiguration definierte Suchabfrage durchgeführt werden soll AI Search request processorSkript.

    Wenn Sie diese Methode nicht in Ihren Genius-Ergebniskonfigurationen aufrufen AI Search request processorSkript, erbt die definierte Suchabfrage die Tippfehlerbehandlungskennzeichnung von der Suchabfrage, die die Genius-Ergebniskonfiguration auslöst.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    Rechtschreibprüfung Boolean

    Kennzeichnung, die angibt, ob die automatische Tippfehlerbehandlung für die in Ihren Genius-Ergebniskonfigurationen definierte Suchabfrage durchgeführt werden soll AI Search request processorSkript.

    Gültige Werte:
    • Wahr: Automatische Tippfehlerbehandlung für die Suchabfrage durchführen.
    • Falsch: Umgehen Sie die automatische Tippfehlerbehandlung für die Suchabfrage.

    Standardwert: wahr

    Tabelle : 14. Rückgaben
    Typ Beschreibung
    Keine

    Dies AI Search request processorDas Skript deaktiviert die automatische Tippfehlerbehandlung für seine Suchabfrage für die Anwendertabelle [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;
    }