KBPortalServiceImpl – Global

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 1 Minute Lesedauer
  • Die API KBPortalServiceImpl ist in Knowledge Management V3 [com.snc.knowledge3] als Skripteinbindung enthalten. Sie bietet Methoden zur Verwendung mit Wissen, z. B. die Integration mit einer benutzerdefinierten Suche.

    KBPortalServiceImpl – KBPortalServiceImpl()

    Instantiiert ein KBPortalServiceImpl-Objekt in einer globalen Anwendung.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine

    KBPortalServiceImpl – getResultData(Objektanforderung)

    Gibt Suchergebnisse zurück, die auf Stichwörtern des Wissensartikels und auf relevanten Wissensblockinhalten basieren, auf die der Benutzer zugreifen kann.

    Wenn Sie das Wissensblock-Feature aktiviert haben und in Ihrer Anwendung eine benutzerdefinierte Suche nach Wissen verwenden, gibt Ihre Suche möglicherweise keine relevanten Artikel zurück, wenn Stichwörter in den Blöcken enthalten sind. Um Suchergebnisse basierend auf Stichwörtern aus dem Artikel und aus relevantem Blockinhalt zurückzugeben, auf die der Benutzer Lesezugriff hat, müssen Sie die Methode getResultData() in Ihrer benutzerdefinierten Suche aufrufen.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    Anforderung Objekt JSON-Objekt, um die Suche zu verfeinern.
    Tabelle : 3. Ergebnisse
    Typ Beschreibung
    Objekt Array von Suchergebnissen im JSON-Format basierend auf Stichwörtern aus dem Wissensartikel und aus relevantem Wissensblockinhalt, auf den der Benutzer Lesezugriff hat.

    Benutzerdefinierte Suche mit Wissensblöcken integrieren

    function doKeywordSearch(queryText, count, queryLocation) {
      var results = [];
      
      // To set up the request.
      var request = {
        keyword: queryText,
        language: "",
    
        // To pass data to filter on different metadata.
        variables: {
          kb_knowledge_base: ['Knowledge'],
          kb_category: '',
          author: ['']
        },
     
        // Provide the following.
        context: gs.getProperty('glide.knowman.sp.search_context', 'Knowledge Search'),
        resource: 'Knowledge',
        order: "relevancy,true",
    
        // Provide the pagination variables.
        start: queryLocation,
        end: queryLocation+count,
    
        attachment: false,
    
        // Provide any additional metadata you want to include in your results.
        knowledge_fields: [
          "number",
          "sys_id",
          "published"
        ]
      };
    
      // To execute the search.
      var response = new KBPortalServiceImpl();
      response.getResultData(request);
    
      // To send the search results back to the UI or to store results in your object.
      for (var i = 0; i < response.results.length; i++) {
        result = response.results[i];
        var article = {};
        article.sys_id = result.meta.sys_id.display_value;
        article.number = result.meta.number.display_value;
        article.short_description = article.short_description;
        article.title = result.title;
        article.published = result.meta.published.display_value;
        article.publishedUTC = result.meta.published.display_value;
        article.text = article.text;
        article.score = result.meta.score;
        article.label = article.short_description;
        article.shortDescription = article.short_description;
        results.push(article);
      }
    
      return results;
    }