Fess
SHA-256Fess 是一款易于部署的企业级搜索服务器,内置爬虫和管理界面,基于 OpenSearch 但无需相关经验。
开箱即用的企业搜索服务器,自带爬虫和管理后台
核心功能
- 开箱即用的搜索服务:下载解压即可运行,无需配置复杂的搜索引擎
- 内置网页、文件系统、数据库爬虫,自动索引文档
- 支持 Office、PDF、压缩包等常见格式
- 可视化管理后台:在浏览器中配置爬虫目标、调度任务、管理索引
- 支持 Docker 部署,一键启动
避坑指南
- •默认使用 OpenSearch 作为后端,首次启动会自动下载相关插件,可能需要网络连接。
- •生产环境建议修改默认管理员密码,并配置 TLS 加密传输。
- •爬虫抓取大量文档时请合理设置调度间隔和资源限制,避免影响业务系统。
- •中文分词需要额外配置,参考官方文档中关于 lang_zh 分析器的说明。
适用场景
- 企业内部文档搜索(如共享文件夹中的 Word、PDF)
- 网站站内搜索(替换 Google Site Search)
- 知识库或 Wiki 的内容检索(结合 Confluence/Jira 等数据源)
详细介绍
Fess 是一款功能强大且极易部署的企业级搜索引擎服务器。你可以在任何支持 Java 运行环境的平台上快速安装并运行它。Fess 基于 OpenSearch 构建,但用户完全不需要了解 OpenSearch 即可上手使用。它提供了直观的浏览器管理界面,以及内置的爬虫系统,能够抓取来自 Web 服务器、文件系统以及数据存储(如 CSV 文件、数据库等)中的文档。支持多种文件格式,包括 Microsoft Office 文档、PDF 和压缩包等。此外,Fess Site Search 组件可免费替代 Google Site Search。Fess 采用 Apache License 2.0 开源许可,由 CodeLibs 社区持续维护。
常见问题与排障 (1)
故障排除为什么我的AI搜索聊天机器人一直要求澄清(UNCLEAR意图),而LLM响应因token限制而被截断?
在fess中,AbstractLlmClient的意图检测可能在LLM响应被截断时错误地返回UNCLEAR,因为完成原因检查只识别"length"(OpenAI),而未识别"MAX_TOKENS"(Gemini)或"max_tokens"(Anthropic)。此外,部分可解析的截断JSON可能被视为有效的模糊响应,而非触发回退搜索。修复方法:更新isEmptyContentWithLengthFinish以检测所有截断完成原因(例如Set.of("length", "MAX_TOKENS", "max_tokens", "model_length");)。同时修改detectIntent,对任何截断响应强制触发回退搜索,即使内容非空。作为临时解决方案,可增加LLM客户端的max_tokens设置以防止截断。
标签
快速上手
安装软件
根据你的发行版安装对应的包(dpkg / rpm / AppImage)
下载最新版 zip 包并解压
进入目录,执行 ./bin/fess 启动服务
浏览器访问 http://localhost:8080/ 使用搜索界面,或 http://localhost:8080/admin/ 进入管理后台(默认账号 admin/admin)
- 下载最新版 zip 包并解压
- 进入目录,执行 ./bin/fess 启动服务
- 浏览器访问 http://localhost:8080/ 使用搜索界面,或 http://localhost:8080/admin/ 进入管理后台(默认账号 admin/admin)
已提供 SHA-256 校验码,下载后可自行核对文件完整性
该校验码提取自 GitHub 官方 Release 页面
SHA256 校验码
4f3aa5255d79c257bc97c7b828309666b9116d6712eff658d78aee26da4a2e59该校验码提取自 GitHub Release 页面,下载后请自行核对文件完整性
本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。
开源透明
查看 GitHub 源码卸载说明
停止 Fess 进程,删除解压目录即可。若使用 Docker,执行 docker-compose down 并删除容器镜像。索引数据默认存储在 fess 目录下,如需彻底移除请手动删除。
无额外依赖
下载后即可直接使用,无需安装其他运行环境
遇到问题?查看下方 FAQ
1 FAQ