dataConfig API

Übersicht

die dataConfig API dient zur Verwaltung der datenspeicher-Konfiguration in Fess. Sie können Crawl-Einstellungen für datenquellen wie datenbanken, CSV und JSON verwalten.

Basis-URL

/api/admin/dataconfig

Endpunktliste

Methode Pfad Beschreibung
GET/PUT /settings datenspeicher-Konfigurationsliste abrufen
GET /setting/{id} datenspeicher-Konfiguration abrufen
POST /setting datenspeicher-Konfiguration erstellen
PUT /setting datenspeicher-Konfiguration aktualisieren
dELETE /setting/{id} datenspeicher-Konfiguration löschen

datenspeicher-Konfigurationsliste abrufen

Request

GET /api/admin/dataconfig/settings
PUT /api/admin/dataconfig/settings

Parameter

Parameter Typ Erforderlich Beschreibung
size Integer Nein Anzahl der Einträge pro Seite (Standard: 20)
page Integer Nein Seitennummer (beginnt bei 0)

Response

{
  "response": {
    "status": 0,
    "settings": [
      {
        "id": "dataconfig_id_1",
        "name": "database Crawler",
        "handlerName": "databasedataStore",
        "handlerParameter": "driver=org.postgresql.driver\nurl=jdbc:postgresql://localhost/mydb",
        "handlerScript": "...",
        "boost": 1.0,
        "available": true,
        "sortOrder": 0
      }
    ],
    "total": 5
  }
}

datenspeicher-Konfiguration abrufen

Request

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

Response

{
  "response": {
    "status": 0,
    "setting": {
      "id": "dataconfig_id_1",
      "name": "database Crawler",
      "handlerName": "databasedataStore",
      "handlerParameter": "driver=org.postgresql.driver\nurl=jdbc:postgresql://localhost/mydb\nusername=dbuser\npassword=dbpass",
      "handlerScript": "...",
      "boost": 1.0,
      "available": true,
      "sortOrder": 0,
      "permissions": ["admin"],
      "virtualHosts": [],
      "labelTypeIds": []
    }
  }
}

datenspeicher-Konfiguration erstellen

Request

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

Request-Body

{
  "name": "Product database",
  "handlerName": "databasedataStore",
  "handlerParameter": "driver=org.postgresql.driver\nurl=jdbc:postgresql://localhost/products\nusername=user\npassword=pass",
  "handlerScript": "url=\"https://example.com/product/\" + data.product_id\ntitle=data.product_name\ncontent=data.description",
  "boost": 1.0,
  "available": true,
  "permissions": ["admin", "user"],
  "labelTypeIds": ["label_id_1"]
}

Feldbeschreibungen

Feld Erforderlich Beschreibung
name Ja Konfigurationsname
handlerName Ja Name des datenspeicher-Handlers
handlerParameter Nein Handler-Parameter (Verbindungsinformationen usw.)
handlerScript Ja datenkonvertierungsskript
boost Nein Boost-Wert für Suchergebnisse (Standard: 1.0)
available Nein Aktiviert/deaktiviert (Standard: true)
sortOrder Nein Anzeigereihenfolge
permissions Nein Zugriffsberechtigte Rollen
virtualHosts Nein Virtuelle Hosts
labelTypeIds Nein Label-Typ-Ids

Response

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

datenspeicher-Konfiguration aktualisieren

Request

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

Request-Body

{
  "id": "existing_dataconfig_id",
  "name": "Updated Product database",
  "handlerName": "databasedataStore",
  "handlerParameter": "driver=org.postgresql.driver\nurl=jdbc:postgresql://localhost/products\nusername=user\npassword=newpass",
  "handlerScript": "url=\"https://example.com/product/\" + data.product_id\ntitle=data.product_name\ncontent=data.description + \" \" + data.features",
  "boost": 1.5,
  "available": true,
  "versionNo": 1
}

Response

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

datenspeicher-Konfiguration löschen

Request

dELETE /api/admin/dataconfig/setting/{id}

Response

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

Handler-Typen

Handler-Name Beschreibung
databasedataStore Verbindung zur datenbank über JdBC
CsvdataStore daten aus CSV-dateien lesen
JsondataStore daten aus JSON-dateien oder JSON-APIs lesen

Verwendungsbeispiele

datenbank-Crawl-Konfiguration

curl -X POST "http://localhost:8080/api/admin/dataconfig/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "name": "User database",
       "handlerName": "databasedataStore",
       "handlerParameter": "driver=org.postgresql.driver\nurl=jdbc:postgresql://localhost/userdb\nusername=dbuser\npassword=dbpass\nsql=SELECT * FROM users WHERE active=true",
       "handlerScript": "url=\"https://example.com/user/\" + data.user_id\ntitle=data.username\ncontent=data.profile",
       "boost": 1.0,
       "available": true
     }'

Referenzinformationen