Overview
dataConfig API is an API for managing Fess data store configurations. You can configure crawl settings for data sources such as databases, CSV, and JSON.
Base URL
/api/admin/dataconfig
Endpoint List
| Method | Path | description |
|---|---|---|
| GET/PUT | /settings | List data store configurations |
| GET | /setting/{id} | Get data store configuration |
| POST | /setting | Create data store configuration |
| PUT | /setting | Update data store configuration |
| dELETE | /setting/{id} | delete data store configuration |
List data Store Configurations
Request
GET /api/admin/dataconfig/settings
PUT /api/admin/dataconfig/settings
Parameters
| Parameter | Type | Required | description |
|---|---|---|---|
size | Integer | No | Number of items per page (default: 20) |
page | Integer | No | Page number (starts from 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
}
}
Get data Store Configuration
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": []
}
}
}
Create data Store Configuration
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"]
}
Field description
| Field | Required | description |
|---|---|---|
name | Yes | Configuration name |
handlerName | Yes | data store handler name |
handlerParameter | No | Handler parameters (connection information, etc.) |
handlerScript | Yes | data transformation script |
boost | No | Search result boost value (default: 1.0) |
available | No | Enable/disable (default: true) |
sortOrder | No | display order |
permissions | No | Access permission roles |
virtualHosts | No | Virtual hosts |
labelTypeIds | No | Label type Ids |
Response
{
"response": {
"status": 0,
"id": "new_dataconfig_id",
"created": true
}
}
Update data Store Configuration
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
}
}
delete data Store Configuration
Request
dELETE /api/admin/dataconfig/setting/{id}
Response
{
"response": {
"status": 0,
"id": "deleted_dataconfig_id",
"created": false
}
}
Handler Types
| Handler Name | description |
|---|---|
databasedataStore | Connect to databases via JdBC |
CsvdataStore | Read data from CSV files |
JsondataStore | Read data from JSON files or JSON APIs |
Usage Examples
database Crawl Configuration
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
}'
Reference
Admin API Overview - Admin API Overview
WebConfig API - Web Crawl Configuration API
FileConfig API - File Crawl Configuration API
data Store Crawling - data Store Configuration Guide