KBPortalServiceImpl - Global
L’API KBPortalServiceImpl est incluse dans Knowledge Management V3 [com.snc.knowledge3] en tant que script include. Il fournit des méthodes à utiliser avec la base de connaissances, telles que l’intégration à une recherche personnalisée.
KBPortalServiceImpl : KBPortalServiceImpl()
Instancie un objet KBPortalServiceImpl dans une application globale.
| Nom | Type | Description |
|---|---|---|
| Aucun |
KBPortalServiceImpl : getResultData(demande d’objet)
Renvoie les résultats de recherche en fonction des mots clés de l’article de la base de connaissances et du contenu de bloc de connaissances pertinent que l’utilisateur peut lire.
Si vous avez activé la fonctionnalité de blocs de connaissances et que vous utilisez une recherche personnalisée de connaissances avec votre application, votre recherche peut ne pas renvoyer d’articles pertinents lorsque des mots clés sont contenus dans les blocs. Pour renvoyer les résultats de recherche basés sur les mots clés de l’article et du contenu de bloc pertinent que l’utilisateur a accès à lire, vous devez appeler la méthode getResultData() dans votre recherche personnalisée.
| Nom | Type | Description |
|---|---|---|
| Demande | Objet | JSON pour affiner la recherche. |
| Type | Description |
|---|---|
| Objet | Tableau des résultats de recherche au format JSON en fonction des mots clés de l’article de la base de connaissances et du contenu de bloc de connaissances pertinent que l’utilisateur peut lire. |
Intégration d’une recherche personnalisée avec des blocs de connaissances
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;
}