Übersicht
Fess Admin API ist eine RESTful API für den programmatischen Zugriff auf Verwaltungsfunktionen. Die meisten Operationen, die über die Administrationsoberfläche durchgeführt werden können, wie Crawl-Konfiguration, Benutzerverwaltung und Scheduler-Steuerung, können über die API ausgeführt werden.
Mit dieser API können Sie die Konfiguration von Fess automatisieren oder mit externen Systemen integrieren.
Basis-URL
Die Basis-URL der Admin API hat folgendes Format:
http://<Server Name>/api/admin/
Beispiel für eine lokale Umgebung:
http://localhost:8080/api/admin/
Authentifizierung
Für den Zugriff auf die Admin API ist eine Authentifizierung mit einem Access Token erforderlich.
Access Token erhalten
Melden Sie sich in der Administrationsoberfläche an
Navigieren Sie zu „System“ -> „Access Token“
Klicken Sie auf „Neu erstellen“
Geben Sie einen Token-Namen ein und wählen Sie die erforderlichen Berechtigungen
Klicken Sie auf „Erstellen“, um den Token zu erhalten
Token verwenden
Fügen Sie den Access Token in den Request-Header ein:
Authorization: Bearer <Access Token>
Oder geben Sie ihn als Query-Parameter an:
?token=<Access Token>
cURL-Beispiel
curl -H "Authorization: Bearer YOUR_TOKEN" \
"http://localhost:8080/api/admin/scheduler/settings"
Erforderliche Berechtigungen
Um die Admin API zu verwenden, benötigt der Token folgende Berechtigungen:
admin-*- Zugriff auf alle Verwaltungsfunktionenadmin-scheduler- Nur Scheduler-Verwaltungadmin-user- Nur BenutzerverwaltungAndere funktionsspezifische Berechtigungen
Gemeinsame Muster
Liste abrufen (GET/PUT /settings)
Ruft eine Liste von Einstellungen ab.
Request
GET /api/admin/<resource>/settings
PUT /api/admin/<resource>/settings
Parameter (Paginierung):
| Parameter | Typ | Beschreibung |
|---|---|---|
size | Integer | Anzahl der Einträge pro Seite (Standard: 20) |
page | Integer | Seitennummer (beginnt bei 0) |
Response
{
"response": {
"status": 0,
"settings": [...],
"total": 100
}
}
Einzelne Einstellung abrufen (GET /setting/{id})
Ruft eine einzelne Einstellung anhand der ID ab.
Request
GET /api/admin/<resource>/setting/{id}
Response
{
"response": {
"status": 0,
"setting": {...}
}
}
Neu erstellen (POST /setting)
Erstellt eine neue Einstellung.
Request
POST /api/admin/<resource>/setting
Content-Type: application/json
{
"name": "...",
"...": "..."
}
Response
{
"response": {
"status": 0,
"id": "created_id",
"created": true
}
}
Aktualisieren (PUT /setting)
Aktualisiert eine bestehende Einstellung.
Request
PUT /api/admin/<resource>/setting
Content-Type: application/json
{
"id": "...",
"name": "...",
"...": "..."
}
Response
{
"response": {
"status": 0,
"id": "updated_id",
"created": false
}
}
Löschen (DELETE /setting/{id})
Löscht eine Einstellung.
Request
DELETE /api/admin/<resource>/setting/{id}
Response
{
"response": {
"status": 0,
"id": "deleted_id",
"created": false
}
}
Response-Format
Erfolgreiche Response
{
"response": {
"status": 0,
...
}
}
status: 0 zeigt Erfolg an.
Fehler-Response
{
"response": {
"status": 1,
"errors": [
{"code": "errors.failed_to_create", "args": ["...", "..."]}
]
}
}
HTTP-Statuscodes
| Code | Beschreibung |
|---|---|
| 200 | Request erfolgreich |
| 400 | Ungültige Request-Parameter |
| 401 | Authentifizierung erforderlich (kein oder ungültiger Token) |
| 403 | Keine Zugriffsberechtigung |
| 404 | Ressource nicht gefunden |
| 500 | Interner Serverfehler |
Verfügbare APIs
Fess bietet folgende Admin APIs.
Crawl-Konfiguration
| Endpunkt | Beschreibung |
|---|---|
| WebConfig API | Web-Crawl-Konfiguration |
| FileConfig API | Datei-Crawl-Konfiguration |
| DataConfig API | Datenspeicher-Konfiguration |
Index-Verwaltung
| Endpunkt | Beschreibung |
|---|---|
| Documents API | Dokument-Massenoperationen |
| CrawlingInfo API | Crawl-Informationen |
| FailureUrl API | Fehlgeschlagene URL-Verwaltung |
| Backup API | Backup/Wiederherstellung |
Scheduler
| Endpunkt | Beschreibung |
|---|---|
| Scheduler API | Job-Scheduling |
| JobLog API | Job-Protokoll abrufen |
Benutzer- und Rechteverwaltung
| Endpunkt | Beschreibung |
|---|---|
| User API | Benutzerverwaltung |
| Role API | Rollenverwaltung |
| Group API | Gruppenverwaltung |
| AccessToken API | API-Token-Verwaltung |
Such-Tuning
| Endpunkt | Beschreibung |
|---|---|
| LabelType API | Label-Typen |
| KeyMatch API | Key Match |
| BoostDoc API | Dokument-Boost |
| ElevateWord API | Elevate Word |
| BadWord API | Verbotene Wörter |
| RelatedContent API | Verwandte Inhalte |
| RelatedQuery API | Verwandte Abfragen |
| Suggest API | Suggest-Verwaltung |
System
| Endpunkt | Beschreibung |
|---|---|
| General API | Allgemeine Einstellungen |
| SystemInfo API | Systeminformationen |
| Stats API | Systemstatistiken |
| Log API | Protokoll abrufen |
| Storage API | Speicherverwaltung |
| Plugin API | Plugin-Verwaltung |
Wörterbuch
| Endpunkt | Beschreibung |
|---|---|
| Dict API | Wörterbuchverwaltung (Synonyme, Stoppwörter usw.) |
Verwendungsbeispiele
Web-Crawl-Konfiguration erstellen
curl -X POST "http://localhost:8080/api/admin/webconfig/setting" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Example Site",
"urls": "https://example.com/",
"includedUrls": ".*example.com.*",
"excludedUrls": "",
"maxAccessCount": 1000,
"depth": 3,
"available": true
}'
Scheduler-Job starten
curl -X PUT "http://localhost:8080/api/admin/scheduler/{job_id}/start" \
-H "Authorization: Bearer YOUR_TOKEN"
Benutzerliste abrufen
curl "http://localhost:8080/api/admin/user/settings?size=50&page=0" \
-H "Authorization: Bearer YOUR_TOKEN"
Referenzinformationen
API-Übersicht - API-Übersicht
Zugriffstoken - Access Token Verwaltungsanleitung