| user.code.request.parameter | Configuración del código de usuario | userCode |
| user.code.min.length | Longitud mínima del código de usuario. | 20 |
| user.code.max.length | Longitud máxima del código de usuario. | 100 |
| user.code.pattern | Patrón de validación del código de usuario. | [a-zA-Z0-9_]+ |
| mail.from.name | Nombre que se muestra en el campo De de los correos electrónicos. | Administrator |
| mail.from.address | Dirección de correo electrónico que se utiliza en el campo De. | root@localhost |
| mail.hostname | Nombre de host del servidor de correo. | (empty) |
| scheduler.target.name | Nombre de destino (target) del programador. | (empty) |
| scheduler.job.class | Clase de trabajo del programador. | org.codelibs.fess.app.job.ScriptExecutorJob |
| scheduler.concurrent.exec.mode | Modo de ejecución concurrente en el programador. | QUIT |
| scheduler.monitor.interval | Intervalo del monitoreo del programador. | 30 |
| coordinator.poll.interval | Intervalo (segundos) del sondeo (polling) de heartbeats y eventos. | 60 |
| coordinator.heartbeat.ttl | Tiempo de vida (ms) de los documentos de heartbeat de instancia. | 180000 |
| coordinator.operation.ttl | Tiempo de vida (ms) de los documentos de bloqueo de operación. | 7200000 |
| coordinator.operation.retry | Número máximo de reintentos para adquirir un bloqueo de operación. | 3 |
| coordinator.event.ttl | Tiempo de vida (ms) de los documentos de notificación de eventos. | 600000 |
| online.help.base.link | Enlace base de la ayuda en línea. | https://fess.codelibs.org/{lang}/{version}/admin/ |
| online.help.installation | Enlace de la guía de instalación de la ayuda en línea. | https://fess.codelibs.org/{lang}/{version}/install/install.html |
| online.help.eol | Enlace de la información de fin de vida (end-of-life) de la ayuda en línea. | https://fess.codelibs.org/{lang}/eol.html |
| online.help.name.failureurl | Clave de ayuda en línea para la URL de fallo. | failureurl |
| online.help.name.elevateword | Clave de ayuda en línea para la palabra adicional. | elevateword |
| online.help.name.reqheader | Clave de ayuda en línea para el encabezado de solicitud. | reqheader |
| online.help.name.dict.synonym | Clave de ayuda en línea para el diccionario de sinónimos. | synonym |
| online.help.name.dict | Clave de ayuda en línea para el diccionario. | dict |
| online.help.name.dict.kuromoji | Clave de ayuda en línea para el diccionario Kuromoji. | kuromoji |
| online.help.name.dict.protwords | Clave de ayuda en línea para el diccionario de palabras protegidas. | protwords |
| online.help.name.dict.stopwords | Clave de ayuda en línea para el diccionario de palabras vacías. | stopwords |
| online.help.name.dict.stemmeroverride | Clave de ayuda en línea para el diccionario de anulación de stemmer. | stemmeroverride |
| online.help.name.dict.mapping | Clave de ayuda en línea para el diccionario de mapeo. | mapping |
| online.help.name.webconfig | Clave de ayuda en línea para la configuración web. | webconfig |
| online.help.name.searchlist | Clave de ayuda en línea para la lista de búsqueda. | searchlist |
| online.help.name.log | Clave de ayuda en línea para el registro. | log |
| online.help.name.general | Clave de ayuda en línea para la configuración general. | general |
| online.help.name.role | Clave de ayuda en línea para el rol. | role |
| online.help.name.joblog | Clave de ayuda en línea para el registro de trabajos. | joblog |
| online.help.name.keymatch | Clave de ayuda en línea para la coincidencia de clave. | keymatch |
| online.help.name.relatedquery | Clave de ayuda en línea para la consulta relacionada. | relatedquery |
| online.help.name.relatedcontent | Clave de ayuda en línea para el contenido relacionado. | relatedcontent |
| online.help.name.wizard | Clave de ayuda en línea para el asistente. | wizard |
| online.help.name.badword | Clave de ayuda en línea para la palabra no deseada. | badword |
| online.help.name.pathmap | Clave de ayuda en línea para el mapeo de rutas. | pathmap |
| online.help.name.boostdoc | Clave de ayuda en línea para el impulso de documento. | boostdoc |
| online.help.name.dataconfig | Clave de ayuda en línea para la configuración de almacén de datos. | dataconfig |
| online.help.name.systeminfo | Clave de ayuda en línea para la información del sistema. | systeminfo |
| online.help.name.user | Clave de ayuda en línea para el usuario. | user |
| online.help.name.group | Clave de ayuda en línea para el grupo. | group |
| online.help.name.dashboard | Clave de ayuda en línea para el panel de control. | dashboard |
| online.help.name.webauth | Clave de ayuda en línea para la autenticación web. | webauth |
| online.help.name.fileconfig | Clave de ayuda en línea para la configuración de archivos. | fileconfig |
| online.help.name.fileauth | Clave de ayuda en línea para la autenticación de archivos. | fileauth |
| online.help.name.labeltype | Clave de ayuda en línea para el tipo de etiqueta. | labeltype |
| online.help.name.tagtype | Clave de ayuda en línea para el tipo de etiqueta de usuario. | tagtype |
| online.help.name.duplicatehost | Clave de ayuda en línea para el host duplicado. | duplicatehost |
| online.help.name.scheduler | Clave de ayuda en línea para el programador. | scheduler |
| online.help.name.crawlinginfo | Clave de ayuda en línea para la información de rastreo. | crawlinginfo |
| online.help.name.backup | Clave de ayuda en línea para la copia de seguridad. | backup |
| online.help.name.upgrade | Clave de ayuda en línea para la actualización. | upgrade |
| online.help.name.sereq | Clave de ayuda en línea para la solicitud de búsqueda. | sereq |
| online.help.name.accesstoken | Clave de ayuda en línea para el token de acceso. | accesstoken |
| online.help.name.suggest | Clave de ayuda en línea para la sugerencia. | suggest |
| online.help.name.searchlog | Clave de ayuda en línea para el registro de búsqueda. | searchlog |
| online.help.name.maintenance | Clave de ayuda en línea para el mantenimiento. | maintenance |
| online.help.name.plugin | Clave de ayuda en línea para el plugin. | plugin |
| online.help.name.storage | Clave de ayuda en línea para el almacenamiento. | storage |
| online.help.name.docreport | Clave de ayuda en línea para el informe de documentos. | docreport |
| online.help.supported.langs | Idiomas admitidos para la ayuda en línea. | de,es,fr,ja,ko,zh-cn |
| forum.link | Enlace del foro de soporte para usuarios. | https://discuss.codelibs.org/c/Fess{lang}/ |
| forum.supported.langs | Idiomas admitidos para el foro. | en,ja |
| suggest.popular.word.seed | Valor semilla (seed) para la sugerencia de palabras populares. | 0 |
| suggest.popular.word.tags | Etiquetas para la sugerencia de palabras populares. | (empty) |
| suggest.popular.word.fields | Campos para la sugerencia de palabras populares. | (empty) |
| suggest.popular.word.excludes | Palabras excluidas de la sugerencia de palabras populares. | (empty) |
| suggest.popular.word.size | Número de palabras populares que se sugieren. | 10 |
| suggest.popular.word.window.size | Tamaño de ventana para la sugerencia de palabras populares. | 30 |
| suggest.popular.word.query.freq | Frecuencia de consulta para la sugerencia de palabras populares. | 10 |
| suggest.min.hit.count | Número mínimo de resultados para la sugerencia. | 1 |
| suggest.field.contents | Campo del contenido de la sugerencia. | _default |
| suggest.field.tags | Campo de las etiquetas de la sugerencia. | label |
| suggest.field.roles | Campo de los roles de la sugerencia. | role |
| suggest.field.index.contents | Contenido del índice para la sugerencia. | content,title |
| suggest.update.request.interval | Intervalo de las solicitudes de actualización de sugerencias. | 0 |
| suggest.update.doc.per.request | Número de documentos por solicitud de actualización de sugerencias. | 2 |
| suggest.update.contents.limit.num.percentage | Límite porcentual del contenido de actualización de sugerencias. | 50% |
| suggest.update.contents.limit.num | Número máximo de contenidos de actualización de sugerencias. | 10000 |
| suggest.update.contents.limit.doc.size | Tamaño máximo de documento para la actualización de sugerencias. | 50000 |
| suggest.source.reader.scroll.size | Tamaño de scroll del lector de la fuente de sugerencias. | 1 |
| suggest.popular.word.cache.size | Tamaño de la caché para la sugerencia de palabras populares. | 1000 |
| suggest.popular.word.cache.expire | Caducidad de la caché (segundos) para la sugerencia de palabras populares. | 60 |
| suggest.search.log.permissions | Permisos del registro de búsqueda para la sugerencia. | {user}guest,{role}guest |
| suggest.system.monitor.interval | Intervalo del monitor del sistema en la sugerencia. | 60 |
| ldap.admin.enabled | Indica si la administración LDAP está habilitada. | false |
| ldap.admin.user.filter | Filtro de usuarios para la administración LDAP. | uid=%s |
| ldap.admin.user.base.dn | DN base del usuario de la administración LDAP. | ou=People,dc=fess,dc=codelibs,dc=org |
| ldap.admin.user.object.classes | Clases de objeto del usuario de la administración LDAP. | organizationalPerson,top,person,inetOrgPerson |
| ldap.admin.role.filter | Filtro de roles para la administración LDAP. | cn=%s |
| ldap.admin.role.base.dn | DN base del rol de la administración LDAP. | ou=Role,dc=fess,dc=codelibs,dc=org |
| ldap.admin.role.object.classes | Clases de objeto del rol de la administración LDAP. | groupOfNames |
| ldap.admin.group.filter | Filtro de grupos para la administración LDAP. | cn=%s |
| ldap.admin.group.base.dn | DN base del grupo de la administración LDAP. | ou=Group,dc=fess,dc=codelibs,dc=org |
| ldap.admin.group.object.classes | Clases de objeto del grupo de la administración LDAP. | groupOfNames |
| ldap.admin.sync.password | Indica si se sincroniza la contraseña para la administración LDAP. | true |
| ldap.auth.validation | Indica si se valida la autenticación LDAP. | true |
| ldap.connect.timeout | Tiempo de espera (milisegundos) para establecer una conexión LDAP. También limita el handshake TLS y la respuesta del bind inicial. 0 o menos lo deja en el valor predeterminado del JDK/OS. | 10000 |
| ldap.read.timeout | Tiempo de espera (milisegundos) de una respuesta LDAP una vez que la conexión está enlazada (bound). 0 o menos espera indefinidamente. | 30000 |
| ldap.search.time.limit | Límite de tiempo del lado del servidor (milisegundos) para una búsqueda LDAP. 0 o menos significa sin límite. | 60000 |
| ldap.max.username.length | Longitud máxima del nombre de usuario para LDAP. | -1 |
| ldap.ignore.netbios.name | Indica si se ignora el nombre NetBIOS en LDAP. | true |
| ldap.group.name.with.underscores | Indica si se permiten guiones bajos en los nombres de grupo de LDAP. | false |
| ldap.lowercase.permission.name | Indica si se usan minúsculas para los nombres de permisos de LDAP. | false |
| ldap.allow.empty.permission | Indica si se permiten permisos vacíos en LDAP. | true |
| ldap.samaccountname.group | Indica si se usa samAccountName para el grupo de LDAP. | false |
| ldap.role.search.user.enabled | Indica si la búsqueda de roles LDAP para el usuario está habilitada. | true |
| ldap.role.search.group.enabled | Indica si la búsqueda de roles LDAP para el grupo está habilitada. | true |
| ldap.role.search.role.enabled | Indica si la búsqueda de roles LDAP para el rol está habilitada. | true |
| ldap.attr.surname | Atributo LDAP del apellido. | sn |
| ldap.attr.givenName | Atributo LDAP del nombre de pila. | givenName |
| ldap.attr.employeeNumber | Atributo LDAP del número de empleado. | employeeNumber |
| ldap.attr.mail | Atributo LDAP del correo. | mail |
| ldap.attr.telephoneNumber | Atributo LDAP del número de teléfono. | telephoneNumber |
| ldap.attr.homePhone | Atributo LDAP del teléfono particular. | homePhone |
| ldap.attr.homePostalAddress | Atributo LDAP de la dirección postal particular. | homePostalAddress |
| ldap.attr.labeledURI | Atributo LDAP del URI etiquetado. | labeledURI |
| ldap.attr.roomNumber | Atributo LDAP del número de sala. | roomNumber |
| ldap.attr.description | Atributo LDAP de la descripción. | description |
| ldap.attr.title | Atributo LDAP del título. | title |
| ldap.attr.pager | Atributo LDAP del pager. | pager |
| ldap.attr.street | Atributo LDAP de la calle. | street |
| ldap.attr.postalCode | Atributo LDAP del código postal. | postalCode |
| ldap.attr.physicalDeliveryOfficeName | Atributo LDAP del nombre de la oficina de entrega física. | physicalDeliveryOfficeName |
| ldap.attr.destinationIndicator | Atributo LDAP del indicador de destino. | destinationIndicator |
| ldap.attr.internationaliSDNNumber | Atributo LDAP del número ISDN internacional. | internationaliSDNNumber |
| ldap.attr.state | Atributo LDAP del estado. | st |
| ldap.attr.employeeType | Atributo LDAP del tipo de empleado. | employeeType |
| ldap.attr.facsimileTelephoneNumber | Atributo LDAP del número de teléfono de facsímil. | facsimileTelephoneNumber |
| ldap.attr.postOfficeBox | Atributo LDAP del apartado de correos. | postOfficeBox |
| ldap.attr.initials | Atributo LDAP de las iniciales. | initials |
| ldap.attr.carLicense | Atributo LDAP de la licencia del automóvil. | carLicense |
| ldap.attr.mobile | Atributo LDAP del móvil. | mobile |
| ldap.attr.postalAddress | Atributo LDAP de la dirección postal. | postalAddress |
| ldap.attr.city | Atributo LDAP de la ciudad. | l |
| ldap.attr.teletexTerminalIdentifier | Atributo LDAP del identificador de terminal teletex. | teletexTerminalIdentifier |
| ldap.attr.x121Address | Atributo LDAP de la dirección X.121. | x121Address |
| ldap.attr.businessCategory | Atributo LDAP de la categoría de negocio. | businessCategory |
| ldap.attr.registeredAddress | Atributo LDAP de la dirección registrada. | registeredAddress |
| ldap.attr.displayName | Atributo LDAP del nombre para mostrar. | displayName |
| ldap.attr.preferredLanguage | Atributo LDAP del idioma preferido. | preferredLanguage |
| ldap.attr.departmentNumber | Atributo LDAP del número de departamento. | departmentNumber |
| ldap.attr.uidNumber | Atributo LDAP del número UID. | uidNumber |
| ldap.attr.gidNumber | Atributo LDAP del número GID. | gidNumber |
| ldap.attr.homeDirectory | Atributo LDAP del directorio personal. | homeDirectory |
| plugin.repositories | URLs de los repositorios de plugins. | https://maven.codelibs.org/release/org/codelibs/fess/,https://repo.maven.apache.org/maven2/org/codelibs/fess/,https://fess.codelibs.org/plugin/artifacts.yaml |
| plugin.version.filter | Filtro de versión de los plugins. | (empty) |
| storage.max.items.in.page | Número máximo de elementos por página en el almacenamiento. | 1000 |
| password.invalid.admin.passwords | Lista de contraseñas de administrador no válidas. | admin |
| password.min.length | Longitud mínima de la contraseña (0 para deshabilitar). | 8 |
| password.max.length | Longitud máxima de un campo de contraseña. | 100 |
| password.require.uppercase | Exigir letras mayúsculas en la contraseña. | false |
| password.require.lowercase | Exigir letras minúsculas en la contraseña. | false |
| password.require.digit | Exigir dígitos en la contraseña. | false |
| password.require.special.char | Exigir caracteres especiales en la contraseña. | false |
| rag.chat.enabled | Indica si la funcionalidad de chat RAG está habilitada. | false |
| rag.chat.log.enabled | Indica si se registra el uso de cada solicitud de chat RAG (usuario, hora, llamadas al LLM y tokens) en el registro del chat. La pregunta y la respuesta nunca se registran. | true |
| rag.chat.context.max.documents | Configuración de la generación del chat. | 5 |
| rag.chat.query.regeneration.max.count | Número máximo de veces que una solicitud de chat regenera su consulta de búsqueda y vuelve a buscar cuando la búsqueda no encuentra documentos o, en el chat en streaming, ninguno de los resultados se considera relevante. Cada regeneración realiza una llamada al LLM, más una llamada de evaluación de relevancia cuando la nueva búsqueda tiene resultados (0 lo deshabilita). | 2 |
| rag.chat.session.timeout.minutes | Configuración de sesiones. | 30 |
| rag.chat.session.max.size | Número máximo de sesiones de chat en caché; las de acceso menos reciente se desalojan cuando se supera (0 o menos significa 100). | 10000 |
| rag.chat.history.max.messages | Número máximo de mensajes que se conservan en una sesión de chat; los turnos más antiguos se recortan con cada mensaje nuevo. | 30 |
| rag.chat.content.fields | Configuración del flujo RAG mejorado. Campos que se recuperan para el contenido completo del documento. | title,url,content,doc_id,content_title,content_description |
| rag.chat.highlight.fragment.size | Configuración de resaltado para la búsqueda RAG. | 500 |
| rag.chat.highlight.number.of.fragments | Número de fragmentos de resaltado por documento en la búsqueda de contexto del chat RAG. | 3 |
| rag.chat.content.fulltext.max.length | Manejo de documentos grandes para la generación de respuestas. Los documentos cuyo content_length supera este valor usan pasajes resaltados en lugar del contenido completo en el contexto de la respuesta. | 3000 |
| rag.chat.answer.highlight.fragment.size | Configuración de resaltado que se usa al extraer pasajes de documentos grandes para el contexto de la respuesta. | 1000 |
| rag.chat.answer.highlight.number.of.fragments | Número de fragmentos de resaltado que se toman de cada documento sobredimensionado para el contexto de la respuesta. | 5 |
| rag.chat.history.assistant.content | Modo de contenido del historial para los mensajes del asistente. smart_summary - descarta el cuerpo del asistente y conserva solo la consulta de búsqueda pasada y los títulos referenciados por turno (predeterminado, recomendado) full - envía la respuesta completa del asistente source_titles - cuerpo + sufijo de títulos referenciados source_titles_and_urls - solo «[References: title (url), …]» truncated - trunca la respuesta del asistente en history.assistant.max.chars none - descarta los turnos del asistente del historial | smart_summary |
| rag.chat.history.titles.max.count | Número máximo de títulos de documentos referenciados que se incluyen por turno en el modo de historial smart_summary. | 5 |
| rag.chat.document.max.parts | Número máximo de partes en que se divide un documento cuando se chatea sobre un único documento más largo que el presupuesto de contexto del LLM. Cada parte se resume por separado y los resúmenes se combinan en la respuesta; las partes que superan este número no se usan. Una solicitud sobre un documento así realiza hasta este número de llamadas al LLM más una para la respuesta, en cada turno. | 10 |
| rag.chat.response.language | Idioma en el que se pide al LLM que responda. browser - el idioma del navegador del usuario o de la configuración regional de la UI; sin instrucción para el inglés (predeterminado) none - sin instrucción de idioma; el LLM suele responder en el idioma de la pregunta en, ja.. - responder siempre en este idioma | browser |
| index.export.path | Exportación de índice | /var/lib/fess/export |
| index.export.exclude.fields | Campos de documento, separados por comas, que se omiten en los archivos que escribe el trabajo de exportación del índice. | cache,tag |
| index.export.scroll.size | Número de documentos que se obtienen por solicitud de scroll en el trabajo de exportación del índice. | 100 |
| index.export.format | Formato de salida de los documentos exportados; solo se aceptan html y json, cualquier otro hace fallar el trabajo. | html |
| log.notification.flush.interval | Notificación de registros Intervalo (segundos) para vaciar el búfer de notificaciones de registros al motor de búsqueda. | 30 |
| log.notification.max.details.length | Longitud máxima del texto de detalles de la notificación. | 3000 |
| log.notification.max.display.events | Número máximo de eventos que se muestran en la notificación. | 50 |
| log.notification.max.message.length | Longitud máxima de cada mensaje de registro en la notificación. | 200 |
| log.notification.search.size | Número máximo de eventos que se obtienen del motor de búsqueda por trabajo de notificación. | 1000 |
| log.notification.buffer.size | Número máximo de eventos que se almacenan en búfer en memoria. | 1000 |
| log.notification.interval | Intervalo (segundos) del ciclo del trabajo de notificación, que se usa en los mensajes de notificación. | 300 |
| theme.directory.path | Sistema de temas estáticos (consulte docs/superpowers/specs/2026-05-21-fess-static-theme-design.md) | themes |
| theme.upload.max.size | Tamaño máximo (bytes) de un archivo comprimido de tema cargado. | 52428800 |
| theme.upload.max.extracted.size | Tamaño total extraído máximo (bytes); la extracción se aborta cuando se supera. | 209715200 |
| theme.upload.max.entries | Número máximo de entradas permitidas en un archivo comprimido de tema cargado. | 1000 |
| theme.upload.max.compression.ratio | Relación máxima descomprimido/comprimido para una única entrada de un archivo comprimido de tema. | 100 |
| theme.upload.zip.ratio.max | Relación acumulada máxima descomprimido/comprimido para todo el archivo comprimido (protección contra zip bombs). | 50 |
| theme.upload.zip.ratio.check.threshold.bytes | Bytes comprimidos leídos antes de que se aplique la comprobación acumulada de la relación zip; los archivos comprimidos más pequeños la omiten. | 65536 |
| theme.upload.attic.retention.days | Retención (días) de un directorio de tema reemplazado antes de que el barrido de limpieza lo elimine. | 7 |
| theme.repositories | URLs de repositorios (separadas por comas) desde las que se descargan los temas estáticos. | https://maven.codelibs.org/release/org/codelibs/fess/themes/ |
| theme.index.frame.ancestors | Valor de la directiva frame-ancestors de Content-Security-Policy en las páginas HTML del tema estático: los orígenes que pueden incrustarlas en un frame. El valor predeterminado “none” no permite que ninguna página las incruste. WebKit (Safari) aplica frame-ancestors a los frames blob: que usan la vista previa de archivos y la vista de caché de un tema, por lo que los muestra en blanco mientras el valor es “none”. Deje el valor vacío para eliminar la directiva; X-Frame-Options: DENY se envía en cualquier caso y entonces mantiene las páginas fuera de los frames en todos los navegadores (un navegador que respeta frame-ancestors ignora ese encabezado). | 'none' |
| theme.api.csrf.server.origins | Opcional: origen(es) externo(s) canónico(s) de esta instancia de Fess (separados por comas o saltos de línea), p. ej. https://fess.example.com. Cuando se establece, se tratan como del mismo origen para la comprobación de Origin CSRF de v2 SIN confiar en los encabezados reenviados. Recomendado detrás de proxies inversos que no figuran en rate.limit.trusted.proxies. Cuando está vacío, el origen de destino se reconstruye a partir de los encabezados X-Forwarded-* de los proxies de confianza y, después, de la solicitud de servlet. | (empty) |
| theme.api.login.rate.limit.per.ip.per.minute | Intentos de inicio de sesión permitidos por IP de cliente cada minuto; 0 o menos deshabilita el control. | 10 |
| theme.api.login.rate.limit.per.user.per.minute | Intentos de inicio de sesión permitidos por IP de cliente y nombre de usuario cada minuto; también controla el cambio de contraseña. | 5 |
| theme.api.login.lockout.seconds | Bloqueo (segundos) que se aplica una vez que se supera un límite de tasa de inicio de sesión; 0 o menos deshabilita el bloqueo. | 900 |
| theme.api.login.rate.limit.max.entries | Número máximo de buckets de límite de tasa de inicio de sesión que se mantienen en memoria; los buckets inactivos se desalojan al alcanzar el tope. | 100000 |
| api.chat.stream.keepalive.interval.ms | Intervalo entre los pings de keep-alive de SSE que emite /api/v2/chat/stream. El ping es una línea de solo comentario (»: keepalive\n\n») que no afecta al flujo de eventos pero neutraliza a los intermediarios (el proxy_read_timeout predeterminado de nginx es 60s) que descartan las conexiones inactivas durante las fases largas del LLM. Establezca <=0 para deshabilitarlo. Unidad: milisegundos. | 15000 |