API de RelatedQuery

Visión General

La API de RelatedQuery es una API para gestionar las consultas relacionadas de Fess. Permite registrar y administrar candidatos de palabras clave de búsqueda relacionadas (queries) para las palabras clave de búsqueda (term) que introduce el usuario. Las consultas relacionadas registradas se muestran como sugerencias de búsqueda relacionadas en la pantalla de búsqueda.

Para obtener información detallada sobre la autenticación, el formato de respuesta común (el campo version y los códigos status), la paginación y las respuestas de error, consulte Visión General de Admin API.

URL Base

/api/admin/relatedquery

Lista de Endpoints

Método Ruta Descripción
GET /settings Obtener lista de consultas relacionadas
GET /setting/{id} Obtener consulta relacionada
POST /setting Crear consulta relacionada
PUT /setting Actualizar consulta relacionada
DELETE /setting/{id} Eliminar consulta relacionada

Obtener Lista de Consultas Relacionadas

Solicitud

GET /api/admin/relatedquery/settings

Parámetros

Parámetro Tipo Requerido Descripción
size Integer No Número de elementos por página (predeterminado: 25. Modificable mediante paging.page.size de fess_config.properties)
page Integer No Número de página (comienza en 1. Predeterminado: 1)

Respuesta

{
  "response": {
    "version": "15.7.0",
    "status": 0,
    "settings": [
      {
        "id": "query_id_1",
        "term": "fess",
        "queries": "fess tutorial\nfess installation\nfess configuration",
        "versionNo": 1
      }
    ],
    "total": 5
  }
}

Nota

Cada configuración incluye versionNo (número de versión para el bloqueo optimista). Los campos virtualHost y los campos de auditoría (createdBy, createdTime, updatedBy, updatedTime) se incluyen únicamente cuando tienen un valor asignado. Un virtualHost vacío no se incluye en la respuesta.

Obtener Consulta Relacionada

Solicitud

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

Respuesta

{
  "response": {
    "version": "15.7.0",
    "status": 0,
    "setting": {
      "id": "query_id_1",
      "term": "fess",
      "queries": "fess tutorial\nfess installation\nfess configuration",
      "virtualHost": "site1.example.com",
      "versionNo": 1
    }
  }
}

Crear Consulta Relacionada

Solicitud

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

Cuerpo de la Solicitud

{
  "term": "search",
  "queries": "search tutorial\nsearch syntax\nadvanced search",
  "virtualHost": ""
}

Descripción de Campos

Campo Requerido Descripción
term Palabra clave de búsqueda (máximo 10000 caracteres)
queries Consultas relacionadas. Cadena separada por saltos de línea, una por línea (las líneas vacías se ignoran; máximo 10000 caracteres)
virtualHost No Host virtual (máximo 1000 caracteres)

Nota

crudMode es configurado automáticamente por la API, por lo que no es necesario incluirlo en el cuerpo de la solicitud.

Respuesta

{
  "response": {
    "version": "15.7.0",
    "status": 0,
    "id": "new_query_id",
    "created": true
  }
}

Actualizar Consulta Relacionada

Solicitud

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

Cuerpo de la Solicitud

{
  "id": "existing_query_id",
  "term": "search",
  "queries": "search tutorial\nsearch syntax\nadvanced search\nsearch tips",
  "virtualHost": "",
  "versionNo": 1
}

Descripción de Campos

Campo Requerido Descripción
id ID de la consulta relacionada a actualizar (máximo 1000 caracteres)
term Palabra clave de búsqueda (máximo 10000 caracteres)
queries Consultas relacionadas. Cadena separada por saltos de línea, una por línea (las líneas vacías se ignoran; máximo 10000 caracteres)
virtualHost No Host virtual (máximo 1000 caracteres)
versionNo Número de versión para el bloqueo optimista. Debe especificarse el valor incluido en la respuesta de la consulta de obtención

Respuesta

{
  "response": {
    "version": "15.7.0",
    "status": 0,
    "id": "existing_query_id",
    "created": false
  }
}

Eliminar Consulta Relacionada

Solicitud

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

Respuesta

{
  "response": {
    "version": "15.7.0",
    "status": 0
  }
}

Respuesta de Error

Cuando una solicitud falla, status se establece en un valor distinto de 0 y message contiene el detalle del error. Por ejemplo, en errores de validación como la ausencia de campos obligatorios, status toma el valor 1. Para consultar la lista de códigos de estado, vea Visión General de Admin API.

{
  "response": {
    "version": "15.7.0",
    "status": 1,
    "message": "..."
  }
}

Ejemplos de Uso

Consultas Relacionadas con Productos

curl -X POST "http://localhost:8080/api/admin/relatedquery/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "term": "product",
       "queries": "product features\nproduct pricing\nproduct comparison\nproduct reviews"
     }'

Consultas Relacionadas con Ayuda

curl -X POST "http://localhost:8080/api/admin/relatedquery/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "term": "help",
       "queries": "help center\nhelp documentation\nhelp contact support"
     }'

Información de Referencia