现象
FastGPT私有部署4.8.22-alpha版本,使用PostgreSQL数据库时,按照上传PDF文档、进入知识库测试搜索的流程操作后,搜索结果为空,但数据库中实际存在对应知识库数据。查看FastGPT容器日志发现执行了带分页的SQL查询语句,将该SQL语句拷贝至数据库客户端执行时,不带LIMIT分页条件可正常返回数据,添加LIMIT子句后则无结果返回。
可能原因
该问题的直接表现为PostgreSQL环境下,FastGPT知识库搜索使用的带LIMIT分页子句的SQL查询无法返回有效数据,导致搜索结果无法正常加载。具体触发条件需结合数据库的配置、索引状态或数据存储情况进一步确认。
排查步骤
- 确认当前FastGPT为私有部署版本,版本号为4.8.22-alpha,且使用PostgreSQL作为数据库存储。
- 进入FastGPT容器查看运行日志,提取执行失败的分页SQL查询语句。
- 使用数据库客户端连接PostgreSQL,先执行不带LIMIT子句的原SQL语句,确认可返回有效数据。
- 在相同数据库连接中执行带LIMIT子句的同一条SQL语句,验证是否无结果返回。
- 核对数据库中对应知识库的表数据,确认存在符合搜索条件的有效数据。
解决与验证
若验证确认带LIMIT的分页SQL无法返回数据,需按实际环境核对数据库分页查询配置、SQL语句逻辑、索引设置或数据存储状态。验证步骤为重新执行带LIMIT的SQL语句,确认可返回有效数据后,再次在FastGPT知识库中执行搜索测试,查看是否返回预期的匹配结果。