Vue d’ensemble
L’API Dict permet de gerer les fichiers de dictionnaire de Fess. Vous pouvez gerer les dictionnaires de synonymes, de mapping, de mots proteges, etc.
URL de base
/api/admin/dict
Liste des endpoints
| Methode | Chemin | Description |
|---|---|---|
| GET | / | Obtention de la liste des dictionnaires |
| GET | /{id} | Obtention du contenu d’un dictionnaire |
| PUT | /{id} | Mise a jour du contenu d’un dictionnaire |
| POST | /upload | Telechargement d’un fichier de dictionnaire |
Obtention de la liste des dictionnaires
Requete
GET /api/admin/dict
Reponse
{
"response": {
"status": 0,
"dicts": [
{
"id": "synonym",
"name": "Dictionnaire de synonymes",
"path": "/var/lib/fess/dict/synonym.txt",
"type": "synonym",
"updatedAt": "2025-01-29T10:00:00Z"
},
{
"id": "mapping",
"name": "Dictionnaire de mapping",
"path": "/var/lib/fess/dict/mapping.txt",
"type": "mapping",
"updatedAt": "2025-01-28T15:30:00Z"
},
{
"id": "protwords",
"name": "Dictionnaire de mots proteges",
"path": "/var/lib/fess/dict/protwords.txt",
"type": "protwords",
"updatedAt": "2025-01-27T12:00:00Z"
}
],
"total": 3
}
}
Obtention du contenu d’un dictionnaire
Requete
GET /api/admin/dict/{id}
Reponse
{
"response": {
"status": 0,
"dict": {
"id": "synonym",
"name": "Dictionnaire de synonymes",
"path": "/var/lib/fess/dict/synonym.txt",
"type": "synonym",
"content": "recherche,search,query\nFess,fess\nrecherche plein texte,full-text search",
"updatedAt": "2025-01-29T10:00:00Z"
}
}
}
Mise a jour du contenu d’un dictionnaire
Requete
PUT /api/admin/dict/{id}
Content-Type: application/json
Corps de la requete
{
"content": "recherche,search,query,lookup\nFess,fess\nrecherche plein texte,full-text search"
}
Description des champs
| Champ | Requis | Description |
|---|---|---|
content | Oui | Contenu du dictionnaire (separe par des sauts de ligne) |
Reponse
{
"response": {
"status": 0,
"message": "Dictionary updated successfully"
}
}
Telechargement d’un fichier de dictionnaire
Requete
POST /api/admin/dict/upload
Content-Type: multipart/form-data
Corps de la requete
--boundary
Content-Disposition: form-data; name="type"
synonym
--boundary
Content-Disposition: form-data; name="file"; filename="synonym.txt"
Content-Type: text/plain
recherche,search,query
Fess,fess
--boundary--
Description des champs
| Champ | Requis | Description |
|---|---|---|
type | Oui | Type de dictionnaire (synonym/mapping/protwords/stopwords) |
file | Oui | Fichier de dictionnaire |
Reponse
{
"response": {
"status": 0,
"message": "Dictionary uploaded successfully"
}
}
Types de dictionnaires
| Type | Description |
|---|---|
synonym | Dictionnaire de synonymes (expansion des synonymes lors de la recherche) |
mapping | Dictionnaire de mapping (normalisation des caracteres) |
protwords | Dictionnaire de mots proteges (mots exclus du stemming) |
stopwords | Dictionnaire de mots vides (mots exclus de l’indexation) |
kuromoji | Dictionnaire Kuromoji (analyse morphologique japonaise) |
Exemples de format de dictionnaire
Dictionnaire de synonymes
# Specifier les synonymes separes par des virgules
recherche,search,query
Fess,fess
recherche plein texte,full-text search
Dictionnaire de mapping
# avant => apres
0 => 0
1 => 1
2 => 2
Dictionnaire de mots proteges
# Mots a proteger du traitement de stemming
running
searching
indexing
Exemples d’utilisation
Obtention de la liste des dictionnaires
curl -X GET "http://localhost:8080/api/admin/dict" \
-H "Authorization: Bearer YOUR_TOKEN"
Obtention du contenu du dictionnaire de synonymes
curl -X GET "http://localhost:8080/api/admin/dict/synonym" \
-H "Authorization: Bearer YOUR_TOKEN"
Mise a jour du dictionnaire de synonymes
curl -X PUT "http://localhost:8080/api/admin/dict/synonym" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"content": "recherche,search,query\nFess,fess\ndocument,fichier,file"
}'
Telechargement d’un fichier de dictionnaire
curl -X POST "http://localhost:8080/api/admin/dict/upload" \
-H "Authorization: Bearer YOUR_TOKEN" \
-F "type=synonym" \
-F "file=@synonym.txt"
Notes importantes
Apres la mise a jour d’un dictionnaire, une reconstruction de l’index peut etre necessaire
Les fichiers de dictionnaire volumineux peuvent affecter les performances de recherche
Utilisez l’encodage UTF-8 pour les fichiers de dictionnaire
Informations complementaires
Vue d’ensemble de l’API Admin - Vue d’ensemble de l’API Admin
Présentation - Guide de gestion des dictionnaires
../../config/dict-config - Guide de configuration des dictionnaires