| user.code.request.parameter | 用户代码设置 | userCode |
| user.code.min.length | 用户代码的最小长度。 | 20 |
| user.code.max.length | 用户代码的最大长度。 | 100 |
| user.code.pattern | 用于验证的用户代码模式。 | [a-zA-Z0-9_]+ |
| mail.from.name | 在电子邮件的 From 字段中显示的名称。 | Administrator |
| mail.from.address | 在 From 字段中使用的电子邮件地址。 | root@localhost |
| mail.hostname | 邮件服务器的主机名。 | (empty) |
| scheduler.target.name | 调度器的目标名称。 | (empty) |
| scheduler.job.class | 调度器的作业类。 | org.codelibs.fess.app.job.ScriptExecutorJob |
| scheduler.concurrent.exec.mode | 调度器中并发执行的模式。 | QUIT |
| scheduler.monitor.interval | 调度器监控的间隔。 | 30 |
| coordinator.poll.interval | 轮询心跳和事件的间隔(秒)。 | 60 |
| coordinator.heartbeat.ttl | 实例心跳文档的存活时间(毫秒)。 | 180000 |
| coordinator.operation.ttl | 操作锁文档的存活时间(毫秒)。 | 7200000 |
| coordinator.operation.retry | 获取操作锁的最大重试次数。 | 3 |
| coordinator.event.ttl | 事件通知文档的存活时间(毫秒)。 | 600000 |
| online.help.base.link | 在线帮助的基础链接。 | https://fess.codelibs.org/{lang}/{version}/admin/ |
| online.help.installation | 在线帮助的安装指南链接。 | https://fess.codelibs.org/{lang}/{version}/install/install.html |
| online.help.eol | 在线帮助的生命周期结束信息链接。 | https://fess.codelibs.org/{lang}/eol.html |
| online.help.name.failureurl | 失败 URL 的在线帮助键。 | failureurl |
| online.help.name.elevateword | 提升词的在线帮助键。 | elevateword |
| online.help.name.reqheader | 请求头的在线帮助键。 | reqheader |
| online.help.name.dict.synonym | 同义词词典的在线帮助键。 | synonym |
| online.help.name.dict | 字典的在线帮助键。 | dict |
| online.help.name.dict.kuromoji | Kuromoji 词典的在线帮助键。 | kuromoji |
| online.help.name.dict.protwords | Protwords 词典的在线帮助键。 | protwords |
| online.help.name.dict.stopwords | 停用词词典的在线帮助键。 | stopwords |
| online.help.name.dict.stemmeroverride | Stemmer 覆盖词典的在线帮助键。 | stemmeroverride |
| online.help.name.dict.mapping | 映射词典的在线帮助键。 | mapping |
| online.help.name.webconfig | Web 配置的在线帮助键。 | webconfig |
| online.help.name.searchlist | 搜索列表的在线帮助键。 | searchlist |
| online.help.name.log | 日志的在线帮助键。 | log |
| online.help.name.general | 常规设置的在线帮助键。 | general |
| online.help.name.role | 角色的在线帮助键。 | role |
| online.help.name.joblog | 作业日志的在线帮助键。 | joblog |
| online.help.name.keymatch | 关键词匹配的在线帮助键。 | keymatch |
| online.help.name.relatedquery | 相关查询的在线帮助键。 | relatedquery |
| online.help.name.relatedcontent | 相关内容的在线帮助键。 | relatedcontent |
| online.help.name.wizard | 向导的在线帮助键。 | wizard |
| online.help.name.badword | 屏蔽词的在线帮助键。 | badword |
| online.help.name.pathmap | 路径映射的在线帮助键。 | pathmap |
| online.help.name.boostdoc | 文档提升的在线帮助键。 | boostdoc |
| online.help.name.dataconfig | 数据存储配置的在线帮助键。 | dataconfig |
| online.help.name.systeminfo | 系统信息的在线帮助键。 | systeminfo |
| online.help.name.user | 用户的在线帮助键。 | user |
| online.help.name.group | 组的在线帮助键。 | group |
| online.help.name.dashboard | 仪表板的在线帮助键。 | dashboard |
| online.help.name.webauth | Web 认证的在线帮助键。 | webauth |
| online.help.name.fileconfig | 文件配置的在线帮助键。 | fileconfig |
| online.help.name.fileauth | 文件认证的在线帮助键。 | fileauth |
| online.help.name.labeltype | 标签类型的在线帮助键。 | labeltype |
| online.help.name.tagtype | 用户标签的在线帮助键。 | tagtype |
| online.help.name.duplicatehost | 重复主机的在线帮助键。 | duplicatehost |
| online.help.name.scheduler | 调度器的在线帮助键。 | scheduler |
| online.help.name.crawlinginfo | 爬网信息的在线帮助键。 | crawlinginfo |
| online.help.name.backup | 备份的在线帮助键。 | backup |
| online.help.name.upgrade | 升级的在线帮助键。 | upgrade |
| online.help.name.sereq | 搜索请求的在线帮助键。 | sereq |
| online.help.name.accesstoken | 访问令牌的在线帮助键。 | accesstoken |
| online.help.name.suggest | 建议的在线帮助键。 | suggest |
| online.help.name.searchlog | 搜索日志的在线帮助键。 | searchlog |
| online.help.name.maintenance | 维护的在线帮助键。 | maintenance |
| online.help.name.plugin | 插件的在线帮助键。 | plugin |
| online.help.name.storage | 存储的在线帮助键。 | storage |
| online.help.name.docreport | 文档报告的在线帮助键。 | docreport |
| online.help.supported.langs | 在线帮助支持的语言。 | de,es,fr,ja,ko,zh-cn |
| forum.link | 用户支持的论坛链接。 | https://discuss.codelibs.org/c/Fess{lang}/ |
| forum.supported.langs | 论坛支持的语言。 | en,ja |
| suggest.popular.word.seed | 热门词建议的种子值。 | 0 |
| suggest.popular.word.tags | 热门词建议的标签。 | (empty) |
| suggest.popular.word.fields | 热门词建议的字段。 | (empty) |
| suggest.popular.word.excludes | 热门词建议的排除词。 | (empty) |
| suggest.popular.word.size | 要建议的热门词数量。 | 10 |
| suggest.popular.word.window.size | 热门词建议的窗口大小。 | 30 |
| suggest.popular.word.query.freq | 热门词建议的查询频率。 | 10 |
| suggest.min.hit.count | 建议的最小命中数。 | 1 |
| suggest.field.contents | 建议内容的字段。 | _default |
| suggest.field.tags | 建议标签的字段。 | label |
| suggest.field.roles | 建议角色的字段。 | role |
| suggest.field.index.contents | 建议的索引内容。 | content,title |
| suggest.update.request.interval | 建议更新请求的间隔。 | 0 |
| suggest.update.doc.per.request | 每个建议更新请求的文档数。 | 2 |
| suggest.update.contents.limit.num.percentage | 建议更新内容的百分比限制。 | 50% |
| suggest.update.contents.limit.num | 建议更新内容的最大数量。 | 10000 |
| suggest.update.contents.limit.doc.size | 建议更新的最大文档大小。 | 50000 |
| suggest.source.reader.scroll.size | 建议源读取器的滚动大小。 | 1 |
| suggest.popular.word.cache.size | 热门词建议的缓存大小。 | 1000 |
| suggest.popular.word.cache.expire | 热门词建议的缓存过期时间(秒)。 | 60 |
| suggest.search.log.permissions | 建议搜索日志的权限。 | {user}guest,{role}guest |
| suggest.system.monitor.interval | 建议中系统监控的间隔。 | 60 |
| ldap.admin.enabled | 是否启用 LDAP 管理。 | false |
| ldap.admin.user.filter | LDAP 管理的用户过滤器。 | uid=%s |
| ldap.admin.user.base.dn | LDAP 管理用户的基础 DN。 | ou=People,dc=fess,dc=codelibs,dc=org |
| ldap.admin.user.object.classes | LDAP 管理用户的对象类。 | organizationalPerson,top,person,inetOrgPerson |
| ldap.admin.role.filter | LDAP 管理的角色过滤器。 | cn=%s |
| ldap.admin.role.base.dn | LDAP 管理角色的基础 DN。 | ou=Role,dc=fess,dc=codelibs,dc=org |
| ldap.admin.role.object.classes | LDAP 管理角色的对象类。 | groupOfNames |
| ldap.admin.group.filter | LDAP 管理的组过滤器。 | cn=%s |
| ldap.admin.group.base.dn | LDAP 管理组的基础 DN。 | ou=Group,dc=fess,dc=codelibs,dc=org |
| ldap.admin.group.object.classes | LDAP 管理组的对象类。 | groupOfNames |
| ldap.admin.sync.password | 是否为 LDAP 管理同步密码。 | true |
| ldap.auth.validation | 是否验证 LDAP 认证。 | true |
| ldap.connect.timeout | 建立 LDAP 连接的超时时间(毫秒)。这同时也限制 TLS 握手和初始绑定响应。0 或更小的值表示交由 JDK/OS 的默认值处理。 | 10000 |
| ldap.read.timeout | 连接绑定之后等待 LDAP 响应的超时时间(毫秒)。0 或更小的值表示无限期等待。 | 30000 |
| ldap.search.time.limit | LDAP 搜索的服务器端时间限制(毫秒)。0 或更小的值表示无限制。 | 60000 |
| ldap.max.username.length | LDAP 的最大用户名长度。 | -1 |
| ldap.ignore.netbios.name | LDAP 中是否忽略 NetBIOS 名称。 | true |
| ldap.group.name.with.underscores | LDAP 组名中是否允许下划线。 | false |
| ldap.lowercase.permission.name | LDAP 权限名称是否使用小写。 | false |
| ldap.allow.empty.permission | LDAP 中是否允许空权限。 | true |
| ldap.samaccountname.group | LDAP 组是否使用 samAccountName。 | false |
| ldap.role.search.user.enabled | 是否启用针对用户的 LDAP 角色搜索。 | true |
| ldap.role.search.group.enabled | 是否启用针对组的 LDAP 角色搜索。 | true |
| ldap.role.search.role.enabled | 是否启用针对角色的 LDAP 角色搜索。 | true |
| ldap.attr.surname | 姓氏的 LDAP 属性。 | sn |
| ldap.attr.givenName | 名字的 LDAP 属性。 | givenName |
| ldap.attr.employeeNumber | 员工编号的 LDAP 属性。 | employeeNumber |
| ldap.attr.mail | 邮件的 LDAP 属性。 | mail |
| ldap.attr.telephoneNumber | 电话号码的 LDAP 属性。 | telephoneNumber |
| ldap.attr.homePhone | 家庭电话的 LDAP 属性。 | homePhone |
| ldap.attr.homePostalAddress | 家庭邮寄地址的 LDAP 属性。 | homePostalAddress |
| ldap.attr.labeledURI | 带标签的 URI 的 LDAP 属性。 | labeledURI |
| ldap.attr.roomNumber | 房间号的 LDAP 属性。 | roomNumber |
| ldap.attr.description | 描述的 LDAP 属性。 | description |
| ldap.attr.title | 职位的 LDAP 属性。 | title |
| ldap.attr.pager | 寻呼机的 LDAP 属性。 | pager |
| ldap.attr.street | 街道的 LDAP 属性。 | street |
| ldap.attr.postalCode | 邮政编码的 LDAP 属性。 | postalCode |
| ldap.attr.physicalDeliveryOfficeName | 物理投递办公室名称的 LDAP 属性。 | physicalDeliveryOfficeName |
| ldap.attr.destinationIndicator | 目的地指示符的 LDAP 属性。 | destinationIndicator |
| ldap.attr.internationaliSDNNumber | 国际 ISDN 号码的 LDAP 属性。 | internationaliSDNNumber |
| ldap.attr.state | 州/省的 LDAP 属性。 | st |
| ldap.attr.employeeType | 员工类型的 LDAP 属性。 | employeeType |
| ldap.attr.facsimileTelephoneNumber | 传真电话号码的 LDAP 属性。 | facsimileTelephoneNumber |
| ldap.attr.postOfficeBox | 邮政信箱的 LDAP 属性。 | postOfficeBox |
| ldap.attr.initials | 姓名首字母的 LDAP 属性。 | initials |
| ldap.attr.carLicense | 车牌的 LDAP 属性。 | carLicense |
| ldap.attr.mobile | 手机的 LDAP 属性。 | mobile |
| ldap.attr.postalAddress | 邮寄地址的 LDAP 属性。 | postalAddress |
| ldap.attr.city | 城市的 LDAP 属性。 | l |
| ldap.attr.teletexTerminalIdentifier | Teletex 终端标识符的 LDAP 属性。 | teletexTerminalIdentifier |
| ldap.attr.x121Address | X.121 地址的 LDAP 属性。 | x121Address |
| ldap.attr.businessCategory | 业务类别的 LDAP 属性。 | businessCategory |
| ldap.attr.registeredAddress | 注册地址的 LDAP 属性。 | registeredAddress |
| ldap.attr.displayName | 显示名称的 LDAP 属性。 | displayName |
| ldap.attr.preferredLanguage | 首选语言的 LDAP 属性。 | preferredLanguage |
| ldap.attr.departmentNumber | 部门编号的 LDAP 属性。 | departmentNumber |
| ldap.attr.uidNumber | UID 编号的 LDAP 属性。 | uidNumber |
| ldap.attr.gidNumber | GID 编号的 LDAP 属性。 | gidNumber |
| ldap.attr.homeDirectory | 主目录的 LDAP 属性。 | homeDirectory |
| plugin.repositories | 插件仓库的 URL。 | 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 | 插件的版本过滤器。 | (empty) |
| storage.max.items.in.page | 存储中每页的最大项目数。 | 1000 |
| password.invalid.admin.passwords | 无效管理员密码的列表。 | admin |
| password.min.length | 最小密码长度(0 表示禁用)。 | 8 |
| password.max.length | 密码字段的最大长度。 | 100 |
| password.require.uppercase | 密码中要求包含大写字母。 | false |
| password.require.lowercase | 密码中要求包含小写字母。 | false |
| password.require.digit | 密码中要求包含数字。 | false |
| password.require.special.char | 密码中要求包含特殊字符。 | false |
| rag.chat.enabled | 是否启用 RAG 聊天功能。 | false |
| rag.chat.log.enabled | 是否在聊天日志中记录每个 RAG 聊天请求的使用情况(用户、时间、LLM 调用次数和 token 数)。绝不会记录问题和答案。 | true |
| rag.chat.context.max.documents | 聊天生成设置。 | 5 |
| rag.chat.query.regeneration.max.count | 当搜索未找到任何文档,或在流式聊天中没有任何命中结果被判定为相关时,一个聊天请求重新生成其搜索查询并再次搜索的最大次数。每次重新生成会产生一次 LLM 调用,如果新的搜索有命中结果,还会额外产生一次相关性评估调用(0 表示禁用)。 | 2 |
| rag.chat.session.timeout.minutes | 会话设置。 | 30 |
| rag.chat.session.max.size | 缓存的聊天会话的最大数量;超过该数量时,最近最少访问的会话会被逐出(0 或更小的值表示 100)。 | 10000 |
| rag.chat.history.max.messages | 一个聊天会话中保留的最大消息数;每收到新消息时,较早的轮次会被裁剪。 | 30 |
| rag.chat.content.fields | 增强 RAG 流程设置。用于检索完整文档内容的字段。 | title,url,content,doc_id,content_title,content_description |
| rag.chat.highlight.fragment.size | RAG 搜索的高亮设置。 | 500 |
| rag.chat.highlight.number.of.fragments | RAG 聊天上下文搜索中每个文档的高亮片段数。 | 3 |
| rag.chat.content.fulltext.max.length | 回答生成时对大型文档的处理。content_length 超过该值的文档,在回答上下文中使用高亮段落而不是完整内容。 | 3000 |
| rag.chat.answer.highlight.fragment.size | 从大型文档中提取段落作为回答上下文时使用的高亮设置。 | 1000 |
| rag.chat.answer.highlight.number.of.fragments | 从每个超大文档中获取并用于回答上下文的高亮片段数。 | 5 |
| rag.chat.history.assistant.content | 助手消息的历史内容模式。smart_summary - 丢弃助手正文,每轮仅保留过去的搜索查询和参照标题(默认,推荐) full - 发送完整的助手响应 source_titles - 正文加参照标题后缀 source_titles_and_urls - 仅 “[References: title (url), …]” truncated - 在 history.assistant.max.chars 处截断助手响应 none - 从历史中丢弃助手轮次 | smart_summary |
| rag.chat.history.titles.max.count | smart_summary 历史模式下每轮包含的参照文档标题的最大数量。 | 5 |
| rag.chat.document.max.parts | 针对长于 LLM 上下文预算的单个文档进行聊天时,将该文档拆分成的最大部分数。每个部分会分别生成摘要,这些摘要会被合并为回答;超出该数量的部分不会被使用。针对此类文档的请求,每一轮最多产生这么多次 LLM 调用,外加一次用于生成回答的调用。 | 10 |
| rag.chat.response.language | 要求 LLM 使用的回答语言。browser - 用户浏览器或 UI 区域设置的语言;英语时不添加指示(默认) none - 不添加语言指示;LLM 通常使用问题所用的语言回答 en, ja.. - 始终使用该语言回答 | browser |
| index.export.path | 索引导出 | /var/lib/fess/export |
| index.export.exclude.fields | 索引导出作业写入的文件中省略的文档字段(逗号分隔)。 | cache,tag |
| index.export.scroll.size | 索引导出作业每次滚动请求获取的文档数。 | 100 |
| index.export.format | 导出文档的输出格式;仅接受 html 和 json,其他任何值都会导致作业失败。 | html |
| log.notification.flush.interval | 日志通知 将日志通知缓冲区刷新到搜索引擎的间隔(秒)。 | 30 |
| log.notification.max.details.length | 通知详情文本的最大长度。 | 3000 |
| log.notification.max.display.events | 通知中显示的事件的最大数量。 | 50 |
| log.notification.max.message.length | 通知中每条日志消息的最大长度。 | 200 |
| log.notification.search.size | 每个通知作业从搜索引擎获取的事件的最大数量。 | 1000 |
| log.notification.buffer.size | 内存中缓冲的事件的最大数量。 | 1000 |
| log.notification.interval | 通知作业周期的间隔(秒),用于通知消息中。 | 300 |
| theme.directory.path | 静态主题系统(参见 docs/superpowers/specs/2026-05-21-fess-static-theme-design.md) | themes |
| theme.upload.max.size | 上传的主题归档文件的最大大小(字节)。 | 52428800 |
| theme.upload.max.extracted.size | 解压后的最大总大小(字节);一旦超出,解压即中止。 | 209715200 |
| theme.upload.max.entries | 上传的主题归档文件中允许的最大条目数。 | 1000 |
| theme.upload.max.compression.ratio | 单个主题归档条目的最大解压/压缩比。 | 100 |
| theme.upload.zip.ratio.max | 整个归档的最大累计解压/压缩比(zip 炸弹防护)。 | 50 |
| theme.upload.zip.ratio.check.threshold.bytes | 应用累计 zip 压缩比检查之前读取的压缩字节数;更小的归档会跳过该检查。 | 65536 |
| theme.upload.attic.retention.days | 被替换的主题目录在清理扫描将其删除之前的保留时间(天)。 | 7 |
| theme.repositories | 下载静态主题的仓库 URL(逗号分隔)。 | https://maven.codelibs.org/release/org/codelibs/fess/themes/ |
| theme.index.frame.ancestors | 静态主题的 HTML 页面的 Content-Security-Policy 中 frame-ancestors 指令的值:允许将这些页面嵌入框架的来源。默认值 ‘none’ 表示任何页面都不能嵌入它们。WebKit(Safari)会将 frame-ancestors 应用于主题的文件预览和缓存视图所使用的 blob: 框架,因此当该值为 ‘none’ 时,它会将这些框架显示为空白。将该值留空可去掉该指令;无论哪种情况都会发送 X-Frame-Options: DENY,并使这些页面在所有浏览器中都无法出现在框架内(遵循 frame-ancestors 的浏览器会忽略该头)。 | 'none' |
| theme.api.csrf.server.origins | 可选:此 Fess 实例的规范外部来源(逗号/换行分隔),例如 https://fess.example.com。设置后,这些来源在 v2 CSRF Origin 检查中被视为同源,且不会信任转发头。建议用于未列在 rate.limit.trusted.proxies 中的反向代理之后。为空时,目标来源将先根据受信任代理的 X-Forwarded-* 头重建,然后再根据 Servlet 请求重建。 | (empty) |
| theme.api.login.rate.limit.per.ip.per.minute | 每个客户端 IP 每分钟允许的登录尝试次数;0 或更小的值表示禁用该限制。 | 10 |
| theme.api.login.rate.limit.per.user.per.minute | 每个客户端 IP 和用户名组合每分钟允许的登录尝试次数;同时也限制密码修改。 | 5 |
| theme.api.login.lockout.seconds | 超过登录速率限制后实施的锁定时间(秒);0 或更小的值表示禁用锁定。 | 900 |
| theme.api.login.rate.limit.max.entries | 内存中保留的登录速率限制桶的最大数量;达到上限时,空闲的桶会被逐出。 | 100000 |
| api.chat.stream.keepalive.interval.ms | /api/v2/chat/stream 发出的 SSE keep-alive ping 的间隔。该 ping 是仅含注释的一行(”: keepalive\n\n”),不会影响事件流,但能够规避在长时间的 LLM 阶段断开空闲连接的中间设备(nginx 默认的 proxy_read_timeout 为 60s)。设置为 <=0 表示禁用。单位:毫秒。 | 15000 |