API de ElevateWord

Visión General

La API de ElevateWord es para gestionar las palabras elevadas (manipulación del orden de búsqueda para palabras clave específicas) de Fess. Puede colocar documentos específicos en posiciones superiores o inferiores para ciertas consultas de búsqueda.

URL Base

/api/admin/elevateword

Lista de Endpoints

Método Ruta Descripción
GET /settings Obtener lista de palabras elevadas
GET /setting/{id} Obtener palabra elevada
POST /setting Crear palabra elevada
PUT /setting Actualizar palabra elevada
DELETE /setting/{id} Eliminar palabra elevada
POST /upload Subir CSV de palabras elevadas
GET /download Descargar CSV de palabras elevadas

Obtener Lista de Palabras Elevadas

Solicitud

GET /api/admin/elevateword/settings

Parámetros

Parámetro Tipo Requerido Descripción
size Integer No Número de elementos por página (predeterminado: 25; se puede cambiar con paging.page.size en fess_config.properties)
page Integer No Número de página (comienza en 1, predeterminado: 1)
id String No Filtro de coincidencia exacta por ID de palabra elevada

Estos parámetros se indican en el cuerpo de la solicitud JSON (por ejemplo, {"size": 50, "page": 1}). Los valores indicados en la cadena de consulta de la URL (por ejemplo, ?size=50) se ignoran, por lo que, si no se indican en el cuerpo, siempre se devuelven los primeros 25 elementos.

Respuesta

{
  "response": {
    "status": 0,
    "settings": [
      {
        "id": "elevate_id_1",
        "suggest_word": "fess",
        "reading": "",
        "permissions": "{role}guest",
        "boost": 100.0,
        "label_type_ids": []
      }
    ],
    "total": 5
  }
}

Obtener Palabra Elevada

Solicitud

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

Respuesta

{
  "response": {
    "status": 0,
    "setting": {
      "id": "elevate_id_1",
      "suggest_word": "fess",
      "reading": "",
      "permissions": "{role}guest",
      "boost": 100.0,
      "label_type_ids": []
    }
  }
}

Crear Palabra Elevada

Solicitud

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

Cuerpo de la Solicitud

{
  "suggest_word": "documentation",
  "reading": "",
  "permissions": "{role}guest",
  "boost": 100.0,
  "label_type_ids": ["label1"]
}

Descripción de Campos

Campo Requerido Descripción
suggest_word Sí Palabra clave a elevar
reading No Lectura fonética
permissions No Permisos de acceso (cadena separada por saltos de línea, uno por línea. Valor inicial del formulario: permisos de visualización predeterminados de la búsqueda)
boost Sí Valor de impulso (valor inicial del formulario: 100.0)
label_type_ids No IDs de etiqueta objetivo (arreglo de cadenas)

Respuesta

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

Actualizar Palabra Elevada

Solicitud

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

Cuerpo de la Solicitud

{
  "id": "existing_elevate_id",
  "suggest_word": "documentation",
  "reading": "",
  "permissions": "{role}guest\n{role}user",
  "boost": 100.0,
  "label_type_ids": ["label1"],
  "version_no": 1
}

Nota

Al actualizar, los siguientes campos son obligatorios además de los campos utilizados para la creación:

  • id - ID de la palabra elevada a actualizar

  • version_no - Número de versión para el bloqueo optimista. Especifique el valor obtenido de GET /setting/{id}.

Respuesta

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

Eliminar Palabra Elevada

Solicitud

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

Respuesta

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

Subir CSV de Palabras Elevadas

Registra palabras elevadas en bloque a partir de un archivo CSV. El archivo se envía como multipart/form-data. La importación se ejecuta de forma asíncrona en el servidor.

Solicitud

POST /api/admin/elevateword/upload
Content-Type: multipart/form-data

Parámetros

Parámetro Requerido Descripción
elevateWordFile Sí Archivo CSV de palabras elevadas a subir

Respuesta

{
  "response": {
    "status": 0
  }
}

Descargar CSV de Palabras Elevadas

Descarga las palabras elevadas registradas como archivo CSV (elevate.csv). La respuesta es un flujo application/octet-stream.

Solicitud

GET /api/admin/elevateword/download

Ejemplos de Uso

Elevar Nombre de Producto

curl -X POST "http://localhost:8080/api/admin/elevateword/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "suggest_word": "Product X",
       "boost": 100.0,
       "permissions": "{role}guest"
     }'

Elevar a Etiqueta Específica

curl -X POST "http://localhost:8080/api/admin/elevateword/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "suggest_word": "API reference",
       "boost": 100.0,
       "label_type_ids": ["technical_docs"],
       "permissions": "{role}guest"
     }'

Subir Archivo CSV

curl -X POST "http://localhost:8080/api/admin/elevateword/upload" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -F "elevateWordFile=@elevate.csv"

Descargar Archivo CSV

curl -X GET "http://localhost:8080/api/admin/elevateword/download" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -o elevate.csv

Información de Referencia