Admin API Übersicht

Ü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

  1. Melden Sie sich in der Administrationsoberfläche an

  2. Navigieren Sie zu „System“ -> „Access Token“

  3. Klicken Sie auf „Neu erstellen“

  4. Geben Sie einen Token-Namen ein und wählen Sie die erforderlichen Berechtigungen

  5. 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 Verwaltungsfunktionen

  • admin-scheduler - Nur Scheduler-Verwaltung

  • admin-user - Nur Benutzerverwaltung

  • Andere 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