Visión General
La API de BoostDoc es para gestionar la configuración de impulso de documentos de Fess. Al configurar el impulso de documentos, puede elevar la puntuación de los documentos que coincidan con ciertas condiciones y hacer que aparezcan con mayor facilidad en las posiciones superiores de los resultados de búsqueda.
El impulso se aplica a cada documento en el momento de la indexación (durante el rastreo). La condición (urlExpr) y el valor de impulso (boostExpr) se evaluan ambos como expresiones Groovy. Las reglas múltiples se evaluan en orden ascendente según sortOrder, y solo se aplica el valor de impulso de la primera regla cuya condición coincida (una vez encontrada una regla que coincida, las reglas siguientes no se evaluan).
Nota
En el panel de administración, urlExpr se muestra como «Condición» y boostExpr como «Expresión de valor de impulso». Para más detalles sobre los elementos de configuración, consulte Impulso de Documento.
URL Base
Autenticación
Para usar esta API, se requiere un token de acceso con el permiso Radmin-api. Consulte Visión General de Admin API para conocer como obtener y especificar el token de acceso.
Lista de Endpoints
| Método | Ruta | Descripción |
|---|---|---|
| GET | /settings | Obtener lista de impulsos de documentos |
| GET | /setting/{id} | Obtener impulso de documento |
| POST | /setting | Crear impulso de documento |
| PUT | /setting | Actualizar impulso de documento |
| DELETE | /setting/{id} | Eliminar impulso de documento |
Obtener Lista de Impulsos de Documentos
Solicitud
Parámetros
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
size | Integer | No | Número de elementos por página (predeterminado: 25) |
page | Integer | No | Número de página (comienza en 1. Predeterminado: 1) |
urlExpr | String | No | Filtrado por expresión de condición (coincidencia parcial) |
boostExpr | String | No | Filtrado por expresión de valor de impulso (coincidencia parcial) |
Respuesta
Nota
Además de los campos mostrados anteriormente, cada objeto de configuración en la respuesta incluye también metadatos de creación/actualización (createdBy, createdTime, updatedBy, updatedTime). versionNo es obligatorio al actualizar (PUT), por lo que debe obtener su valor actual mediante la API de obtención individual o de lista antes de actualizar.
Obtener Impulso de Documento
Solicitud
Respuesta
Crear Impulso de Documento
Solicitud
Cuerpo de la Solicitud
Descripción de Campos
| Campo | Requerido | Descripción |
|---|---|---|
urlExpr | Sí | Expresión de condición. Expresión Groovy que determina los documentos objetivo del impulso y devuelve Boolean. Corresponde a «Condición» en el panel de administración (máximo 10000 caracteres). |
boostExpr | Sí | Expresión de valor de impulso. Expresión Groovy que devuelve el valor de impulso (numérico). También se puede especificar un valor fijo como 3.0. Corresponde a «Expresión de valor de impulso» en el panel de administración (máximo 10000 caracteres). |
sortOrder | Sí | Orden de aplicación. Las reglas se evaluan en orden ascendente y se aplica el valor de impulso de la primera regla cuya condición coincida (valor inicial del formulario: 0; entero mayor o igual a 0). |
Respuesta
Actualizar Impulso de Documento
Solicitud
Cuerpo de la Solicitud
Al actualizar, además de los campos utilizados al crear, id (el identificador de la regla objetivo, hasta 1000 caracteres) y versionNo (el número de versión para bloqueo optimista) son obligatorios. Especifique el número de versión actual obtenido desde la respuesta de la API de obtención individual o de lista para versionNo. La actualización falla si el número de versión no coincide.
Respuesta
Eliminar Impulso de Documento
Solicitud
Respuesta
Acerca de las Expresiones de Condición y de Valor de Impulso
urlExpr (condición) y boostExpr (expresión de valor de impulso) se evaluan ambas como expresiones Groovy. Dentro de la expresión, se pueden referenciar los valores de campo del documento a indexar como variables con el nombre del campo.
urlExprdebe devolverBoolean(ejemplo:url.startsWith("https://docs.example.com/")). Una simple cadena de expresión regular (ejemplo:.*docs\.example\.com.*) no devuelveBooleancomo expresión Groovy y por lo tanto no funciona como condición. Para usar expresiones regulares, utiliceString#matchesde Groovy.boostExprdebe devolver un valor numérico. El resultado se convierte afloaty el impulso se aplica solo si es mayor que 0.
Nota
Principales variables de campo disponibles dentro de la expresión: url, title, content, content_length, last_modified, entre otros. click_count y favorite_count están disponibles cuando indexer.click.count.enabled / indexer.favorite.count.enabled están habilitados (ambos habilitados por defecto). La sintaxis de calculo de fechas de OpenSearch como now - 7d no se puede usar en Groovy.
Ejemplos de Expresión de Condición (urlExpr)
| Expresión de condición | Descripción |
|---|---|
url.startsWith("https://docs.example.com/") | Aplica a documentos cuya URL comienza con la URL especificada |
url.matches("https://www\\.example\\.com/.*") | Evalua la URL mediante expresión regular (String#matches de Groovy) |
title.contains("Notas de la version") | Aplica a documentos que contienen una palabra específica en el título |
Ejemplos de Expresión de Valor de Impulso (boostExpr)
| Expresión de valor de impulso | Descripción |
|---|---|
3.0 | Impulso con valor fijo |
click_count * 0.1 + 1 | Impulso según el número de clics |
Math.log(click_count + 1) | Impulso en escala logaritmica basado en el número de clics |
Ejemplos de Uso
Impulso de Sitio de Documentación
Impulso de Contenido con Muchos Clics
Información de Referencia
Visión General de Admin API - Visión general de Admin API
API de ElevateWord - API de palabras elevadas
Impulso de Documento - Guía de gestión de impulso de documentos