KBPortalServiceImpl – Global
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.
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Anforderung | Objekt | JSON-Objekt, um die Suche zu verfeinern. |
| 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;
}