API de DataConfig

Vision General

La API de DataConfig es para gestionar la configuracion de almacen de datos de Fess. Puede operar configuraciones de rastreo para fuentes de datos como bases de datos, CSV y JSON.

URL Base

/api/admin/dataconfig

Lista de Endpoints

Metodo Ruta Descripcion
GET/PUT /settings Obtener lista de configuraciones de almacen de datos
GET /setting/{id} Obtener configuracion de almacen de datos
POST /setting Crear configuracion de almacen de datos
PUT /setting Actualizar configuracion de almacen de datos
DELETE /setting/{id} Eliminar configuracion de almacen de datos

Obtener Lista de Configuraciones de Almacen de Datos

Solicitud

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

Parametros

Respuesta

{
  "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
  }
}

Obtener Configuracion de Almacen de Datos

Solicitud

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

Respuesta

{
  "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": []
    }
  }
}

Crear Configuracion de Almacen de Datos

Solicitud

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

Cuerpo de la Solicitud

{
  "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"]
}

Descripcion de Campos

Respuesta

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

Actualizar Configuracion de Almacen de Datos

Solicitud

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

Cuerpo de la Solicitud

{
  "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
}

Respuesta

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

Eliminar Configuracion de Almacen de Datos

Solicitud

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

Respuesta

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

Tipos de Manejador

Nombre del Manejador Descripcion
DatabaseDataStore Conecta a base de datos via JDBC
CsvDataStore Lee datos de archivos CSV
JsonDataStore Lee datos de archivos JSON o API JSON

Ejemplos de Uso

Configuracion de Rastreo de Base de Datos

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
     }'

Informacion de Referencia