Vue d’ensemble
L’API BoostDoc est une API permettant de gerer les configurations de boost de documents dans Fess. En configurant le boost de documents, vous pouvez augmenter le score des documents correspondant a certaines conditions et les faire apparaitre plus haut dans les resultats de recherche.
Le boost est applique a chaque document lors de la creation de l’index (au moment du crawl). La condition (urlExpr) et la valeur de boost (boostExpr) sont toutes deux evaluees comme des expressions Groovy. Les regles multiples sont evaluees dans l’ordre croissant de sortOrder, et seule la valeur de boost de la premiere regle dont la condition correspond est appliquee (une fois qu’une regle correspondante est trouvee, les regles suivantes ne sont pas evaluees).
Note
Dans l’interface d’administration, urlExpr est affiche sous le nom « Condition » et boostExpr sous le nom « Expression de valeur de boost ». Pour plus de details sur les elements de configuration, consultez Présentation.
URL de base
Authentification
Pour utiliser cette API, un jeton d’acces avec la permission Radmin-api est requis. Pour savoir comment obtenir et specifier un jeton d’acces, consultez Vue d’ensemble de l’API Admin.
Liste des endpoints
| Methode | Chemin | Description |
|---|---|---|
| GET | /settings | Obtention de la liste des boosts de documents |
| GET | /setting/{id} | Obtention d’un boost de document |
| POST | /setting | Creation d’un boost de document |
| PUT | /setting | Mise a jour d’un boost de document |
| DELETE | /setting/{id} | Suppression d’un boost de document |
Obtention de la liste des boosts de documents
Requete
Parametres
Reponse
Note
En plus des champs presentes ci-dessus, chaque objet de configuration dans la reponse inclut egalement des metadonnees de creation/mise a jour (createdBy, createdTime, updatedBy, updatedTime). versionNo est obligatoire lors d’une mise a jour (PUT) ; recuperez sa valeur actuelle via l’API d’obtention ou de liste avant de proceder a la mise a jour.
Obtention d’un boost de document
Requete
Reponse
Creation d’un boost de document
Requete
Corps de la requete
Description des champs
Reponse
Mise a jour d’un boost de document
Requete
Corps de la requete
Lors de la mise a jour, en plus des champs utilises lors de la creation, id (l’identifiant de la regle cible, 1000 caracteres maximum) et versionNo (le numero de version pour le verrouillage optimiste) sont obligatoires. Specifiez pour versionNo la valeur actuelle obtenue depuis la reponse de l’API d’obtention ou de liste. La mise a jour echoue si le numero de version ne correspond pas.
Reponse
Suppression d’un boost de document
Requete
Reponse
Expressions de condition et de valeur de boost
urlExpr (condition) et boostExpr (expression de valeur de boost) sont toutes deux evaluees comme des expressions Groovy. Dans les expressions, les valeurs des champs du document cible de l’indexation peuvent etre referenciees comme des variables portant le nom du champ.
urlExprdoit retourner unBoolean(exemple :url.startsWith("https://docs.example.com/")). Une simple chaine d’expression reguliere (exemple :.*docs\.example\.com.*) ne retourne pas unBooleanen tant qu’expression Groovy et ne fonctionne donc pas comme condition. Pour utiliser des expressions regulieres, utilisezString#matchesde Groovy.boostExprdoit retourner une valeur numerique. Le resultat est converti enfloatet le boost n’est applique que si la valeur est superieure a 0.
Note
Principales variables de champs referenciables dans les expressions : url, title, content, content_length, last_modified, etc. click_count et favorite_count sont disponibles respectivement lorsque indexer.click.count.enabled / indexer.favorite.count.enabled sont actives (toutes deux activees par defaut). La syntaxe de calcul de date OpenSearch telle que now - 7d ne peut pas etre utilisee en Groovy.
Exemples d’expressions de condition (urlExpr)
| Expression de condition | Description |
|---|---|
url.startsWith("https://docs.example.com/") | Cible les documents dont l’URL commence par la valeur specifiee |
url.matches("https://www\\.example\\.com/.*") | Evalue l’URL avec une expression reguliere (String#matches de Groovy) |
title.contains("Notes de version") | Cible les documents dont le titre contient un mot specifique |
Exemples d’expressions de valeur de boost (boostExpr)
| Expression de valeur de boost | Description |
|---|---|
3.0 | Boost avec une valeur fixe |
click_count * 0.1 + 1 | Boost proportionnel au nombre de clics |
Math.log(click_count + 1) | Boost sur une echelle logarithmique basee sur le nombre de clics |
Exemples d’utilisation
Boost d’un site de documentation
Boost de contenu populaire
Informations complementaires
Vue d’ensemble de l’API Admin - Vue d’ensemble de l’API Admin
API ElevateWord - API ElevateWord
Présentation - Guide de gestion des boosts de documents