Vision General
La API de BoostDoc es para gestionar la configuracion de impulso de documentos de Fess. Al configurar el impulso de documentos, puede elevar la puntuacion de los documentos que coincidan con ciertas condiciones y hacer que aparezcan con mayor facilidad en las posiciones superiores de los resultados de busqueda.
El impulso se aplica a cada documento en el momento de la indexacion (durante el rastreo). La condicion (urlExpr) y el valor de impulso (boostExpr) se evaluan ambos como expresiones Groovy. Las reglas multiples se evaluan en orden ascendente segun sortOrder, y solo se aplica el valor de impulso de la primera regla cuya condicion coincida (una vez encontrada una regla que coincida, las reglas siguientes no se evaluan).
Nota
En el panel de administracion, urlExpr se muestra como «Condicion» y boostExpr como «Expresion de valor de impulso». Para mas detalles sobre los elementos de configuracion, consulte Impulso de Documento.
URL Base
Autenticacion
Para usar esta API, se requiere un token de acceso con el permiso Radmin-api. Consulte Vision General de Admin API para conocer como obtener y especificar el token de acceso.
Lista de Endpoints
| Metodo | Ruta | Descripcion |
|---|---|---|
| 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
Parametros
Respuesta
Nota
Ademas de los campos mostrados anteriormente, cada objeto de configuracion en la respuesta incluye tambien metadatos de creacion/actualizacion (createdBy, createdTime, updatedBy, updatedTime). versionNo es obligatorio al actualizar (PUT), por lo que debe obtener su valor actual mediante la API de obtencion individual o de lista antes de actualizar.
Obtener Impulso de Documento
Solicitud
Respuesta
Crear Impulso de Documento
Solicitud
Cuerpo de la Solicitud
Descripcion de Campos
Respuesta
Actualizar Impulso de Documento
Solicitud
Cuerpo de la Solicitud
Al actualizar, ademas de los campos utilizados al crear, id (el identificador de la regla objetivo, hasta 1000 caracteres) y versionNo (el numero de version para bloqueo optimista) son obligatorios. Especifique el numero de version actual obtenido desde la respuesta de la API de obtencion individual o de lista para versionNo. La actualizacion falla si el numero de version no coincide.
Respuesta
Eliminar Impulso de Documento
Solicitud
Respuesta
Acerca de las Expresiones de Condicion y de Valor de Impulso
urlExpr (condicion) y boostExpr (expresion de valor de impulso) se evaluan ambas como expresiones Groovy. Dentro de la expresion, 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 expresion regular (ejemplo:.*docs\.example\.com.*) no devuelveBooleancomo expresion Groovy y por lo tanto no funciona como condicion. Para usar expresiones regulares, utiliceString#matchesde Groovy.boostExprdebe devolver un valor numerico. El resultado se convierte afloaty el impulso se aplica solo si es mayor que 0.
Nota
Principales variables de campo disponibles dentro de la expresion: url, title, content, content_length, last_modified, entre otros. click_count y favorite_count estan disponibles cuando indexer.click.count.enabled / indexer.favorite.count.enabled estan habilitados (ambos habilitados por defecto). La sintaxis de calculo de fechas de OpenSearch como now - 7d no se puede usar en Groovy.
Ejemplos de Expresion de Condicion (urlExpr)
| Expresion de condicion | Descripcion |
|---|---|
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 expresion regular (String#matches de Groovy) |
title.contains("Notas de la version") | Aplica a documentos que contienen una palabra especifica en el titulo |
Ejemplos de Expresion de Valor de Impulso (boostExpr)
| Expresion de valor de impulso | Descripcion |
|---|---|
3.0 | Impulso con valor fijo |
click_count * 0.1 + 1 | Impulso segun el numero de clics |
Math.log(click_count + 1) | Impulso en escala logaritmica basado en el numero de clics |
Ejemplos de Uso
Impulso de Sitio de Documentacion
Impulso de Contenido con Muchos Clics
Informacion de Referencia
Vision General de Admin API - Vision general de Admin API
API de ElevateWord - API de palabras elevadas
Impulso de Documento - Guia de gestion de impulso de documentos