ElevateWord API

Vue d’ensemble

L’API ElevateWord permet de gérer les mots élevés (manipulation du classement de recherche pour des mots-clés spécifiques) dans Fess. Vous pouvez placer des documents spécifiques en haut ou en bas des résultats pour certaines requêtes de recherche.

URL de base

/api/admin/elevateword

Liste des endpoints

Méthode Chemin Description
GET /settings Obtention de la liste des mots élevés
GET /setting/{id} Obtention d’un mot élevé
POST /setting Création d’un mot élevé
PUT /setting Mise à jour d’un mot élevé
DELETE /setting/{id} Suppression d’un mot élevé
POST /upload Téléversement CSV des mots élevés
GET /download Téléchargement CSV des mots élevés

Obtention de la liste des mots élevés

Requête

GET /api/admin/elevateword/settings

Paramètres

Paramètre Type Requis Description
size Integer Non Nombre d’éléments par page (par défaut : 25 ; modifiable avec paging.page.size dans fess_config.properties)
page Integer Non Numéro de page (commence à 1, par défaut : 1)
id String Non Filtre par correspondance exacte sur l’ID du mot élevé

Ces paramètres sont indiqués dans le corps JSON de la requête (par exemple {"size": 50, "page": 1}). Les valeurs indiquées dans la chaîne de requête de l’URL (par exemple ?size=50) sont ignorées ; si elles ne figurent pas dans le corps, les 25 premiers éléments sont donc toujours retournés.

Réponse

{
  "response": {
    "status": 0,
    "settings": [
      {
        "id": "elevate_id_1",
        "suggest_word": "fess",
        "reading": "",
        "permissions": "{role}guest",
        "boost": 100.0,
        "label_type_ids": []
      }
    ],
    "total": 5
  }
}

Obtention d’un mot élevé

Requête

GET /api/admin/elevateword/setting/{id}

Réponse

{
  "response": {
    "status": 0,
    "setting": {
      "id": "elevate_id_1",
      "suggest_word": "fess",
      "reading": "",
      "permissions": "{role}guest",
      "boost": 100.0,
      "label_type_ids": []
    }
  }
}

Création d’un mot élevé

Requête

POST /api/admin/elevateword/setting
Content-Type: application/json

Corps de la requête

{
  "suggest_word": "documentation",
  "reading": "",
  "permissions": "{role}guest",
  "boost": 100.0,
  "label_type_ids": ["label1"]
}

Description des champs

Champ Requis Description
suggest_word Oui Mot-clé à élever
reading Non Lecture phonétique
permissions Non Permissions d’accès (chaîne séparée par des sauts de ligne, une par ligne. Valeur initiale du formulaire : permissions d’affichage par défaut de la recherche)
boost Oui Valeur de boost (valeur initiale du formulaire : 100.0)
label_type_ids Non ID des labels cibles (tableau de chaînes)

Réponse

{
  "response": {
    "status": 0,
    "id": "new_elevate_id",
    "created": true
  }
}

Mise à jour d’un mot élevé

Requête

PUT /api/admin/elevateword/setting
Content-Type: application/json

Corps de la requête

{
  "id": "existing_elevate_id",
  "suggest_word": "documentation",
  "reading": "",
  "permissions": "{role}guest\n{role}user",
  "boost": 100.0,
  "label_type_ids": ["label1"],
  "version_no": 1
}

Note

Lors de la mise à jour, les champs suivants sont requis en plus des champs utilisés pour la création :

  • id - ID du mot élevé à mettre à jour

  • version_no - Numéro de version pour le verrouillage optimiste. Indiquez la valeur obtenue via GET /setting/{id}.

Réponse

{
  "response": {
    "status": 0,
    "id": "existing_elevate_id",
    "created": false
  }
}

Suppression d’un mot élevé

Requête

DELETE /api/admin/elevateword/setting/{id}

Réponse

{
  "response": {
    "status": 0,
    "id": "deleted_elevate_id",
    "created": false
  }
}

Téléversement CSV des mots élevés

Enregistre en masse des mots élevés depuis un fichier CSV. Le fichier est envoyé en multipart/form-data. L’import est exécuté de manière asynchrone côté serveur.

Requête

POST /api/admin/elevateword/upload
Content-Type: multipart/form-data

Paramètres

Paramètre Requis Description
elevateWordFile Oui Fichier CSV des mots élevés à téléverser

Réponse

{
  "response": {
    "status": 0
  }
}

Téléchargement CSV des mots élevés

Télécharge les mots élevés enregistrés sous forme de fichier CSV (elevate.csv). La réponse est un flux application/octet-stream.

Requête

GET /api/admin/elevateword/download

Exemples d’utilisation

Élévation d’un nom de produit

curl -X POST "http://localhost:8080/api/admin/elevateword/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "suggest_word": "Product X",
       "boost": 100.0,
       "permissions": "{role}guest"
     }'

Élévation vers un label spécifique

curl -X POST "http://localhost:8080/api/admin/elevateword/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "suggest_word": "API reference",
       "boost": 100.0,
       "label_type_ids": ["technical_docs"],
       "permissions": "{role}guest"
     }'

Téléversement d’un fichier CSV

curl -X POST "http://localhost:8080/api/admin/elevateword/upload" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -F "elevateWordFile=@elevate.csv"

Téléchargement d’un fichier CSV

curl -X GET "http://localhost:8080/api/admin/elevateword/download" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -o elevate.csv

Informations complémentaires