搜索功能完善
xiaobai 17小时前

2026-06-07 搜索功能完善

本次完善全站搜索功能,重点解决搜索空白页、搜索结果展示方式、筛选交互和搜索弹窗体验问题。

主要改动:

  1. 搜索路由、核心规则与空白页修复
  • 文件:route/search.php
  • 新增搜索路由实际处理逻辑,支持按关键词搜索主题标题和帖子内容。
  • 新增关键词规范化:去除 HTML、合并多余空格、限制最大长度,减少异常输入对搜索的影响。
  • 新增最小关键词规则,少于 2 个字符不执行搜索,并返回明确提示。
  • 支持最多 5 个关键词分词搜索,避免一次请求扫描过多条件。
  • 修复搜索结果为空或底层查询返回 false 时触发 array + bool 致命错误导致白屏的问题。
  • 标题搜索和内容搜索结果在合并前统一保证为数组,避免同类运行时错误。
  1. 搜索质量与基础权重排序
  • 文件:route/search.php
  • 标题命中权重大于内容命中,完整关键词命中高于单个分词命中。
  • 同一主题同时命中标题和内容时会累加权重。
  • 搜索结果优先按 search_score 相关度排序,相关度相同时再按最新回复排序。
  • 搜索高亮支持多个关键词同时高亮。
  1. 搜索结果分页与 Ajax 返回
  • 文件:route/search.php
  • 搜索结果每页固定显示 10 条。
  • 新增 ajax=1 JSON 返回模式,供搜索弹窗内联展示结果使用。
  • 返回字段包含结果总数、当前页、总页数、主题链接、版块链接、摘要和发布时间等信息。
  1. 搜索弹窗内联展示结果
  • 文件:view/htm/footer.inc.htm
  • 搜索弹窗提交后不再跳转独立搜索页,而是在弹窗下方直接显示搜索结果。
  • 支持弹窗内“上一页 / 下一页”分页。
  • 搜索范围、版块筛选切换后,如果已有关键词,会自动重新搜索。
  • 弹窗只允许点击右上角关闭按钮关闭,避免点击遮罩或误按 Esc 导致搜索界面意外关闭。
  1. 搜索筛选区交互优化
  • 文件:view/htm/footer.inc.htm
  • 搜索范围支持“全部 / 标题 / 内容”。
  • 版块筛选取消原生下拉框和浮层下拉,改为横向标签选择,避免弹窗内出现额外滚动条和浏览器默认菜单样式。
  • 版块标签支持横向滚动,适配版块较多的情况。
  1. 搜索 UI 样式优化
  • 文件:view/css/bootstrap-bbs.css
  • 美化搜索弹窗、输入框、筛选标签、搜索结果卡片和分页按钮。
  • 修复输入框聚焦或文本选中时出现不协调蓝色背景的问题。
  • 调整筛选区上下间距和标签高度,减少拥挤感。
  • 增加暗色主题和移动端适配。
  1. 搜索结果页保留兼容
  • 文件:view/htm/search.htm
  • 保留独立搜索结果页模板,直接访问搜索页时仍可显示搜索表单、结果列表和分页。
  • 搜索弹窗优先使用 Ajax 内联结果,不影响已有 search.htm 路由访问。

 

欢迎大家加入QQ交流群:785017513

 
最新回复 (0)
全部楼主
返回
xiaobai
二级用户组
27
主题数
4
帖子数
扫码访问