AI摘要

本文讲述一款专为Typecho博客设计的实时站内搜索插件,支持双击S键快速调出、关键词高亮及多设备兼容。

SiteSearch 站内搜索插件

一个为 Typecho 博客系统开发的实时站内搜索插件,支持双击 S 键快速调出搜索框,兼容鸿蒙等多种设备。

功能特性

  • 🔍 实时搜索 - 输入关键词即时显示搜索结果
  • ⌨️ 快捷键支持 - 双击 S 键快速调出搜索框
  • 🎯 搜索范围设置 - 支持仅搜索标题或搜索标题和内容
  • 🔴 关键词高亮 - 搜索结果中关键词自动标红显示
  • 📄 内容片段 - 内容匹配时显示包含关键词的文本片段
  • 📱 响应式设计 - 适配移动端和桌面端
  • 🛡️ 多设备兼容 - 支持鸿蒙、安卓、苹果等多种设备浏览器
  • 高性能 - 采用分批处理和缓存机制,确保搜索速度
  • 📈 无结果限制 - 可返回所有匹配的搜索结果
  • 🎨 文章高亮 - 从搜索结果进入文章,关键词在文章中高亮显示
  • 💡 搜索建议 - 基于热门搜索和文章标题的自动补全功能
  • 📊 搜索统计 - 记录用户搜索关键词,分析热门搜索趋势
  • 🔧 数据管理 - 支持查看统计报表、清空数据、删除数据表
  • 🎨 自定义高亮样式 - 可自定义文章详情页高亮的背景色和文字色
  • 📝 搜索历史 - 保存搜索历史记录,数量可自定义
  • 🔄 多种排序方式 - 支持按时间、相关度、浏览量、评论数排序
  • 🛡️ CSRF防护 - 安全防护,支持降级处理确保兼容性
  • 💾 文件缓存 - 服务端缓存机制,减轻服务器压力

安装方法

  1. 下载插件文件
  2. 将插件文件夹命名为 SiteSearch
  3. 上传到 Typecho 的 /usr/plugins/ 目录
  4. 在后台插件管理中启用插件

配置说明

进入插件设置页面,可以配置以下选项:

基本设置

  • 搜索范围
  • 仅搜索标题 - 只搜索文章标题中包含关键词的内容
  • 搜索标题和内容 - 同时搜索文章标题和正文内容
  • 每页显示结果数 - 设置搜索结果每页显示的数量,默认为 10 条
  • 搜索延迟 - 输入文字后触发搜索的延迟时间(毫秒),默认为 300 毫秒
  • 搜索历史数量 - 搜索历史最多保存多少条记录,默认为 10 条

文章高亮设置

  • 文章详情页关键词高亮
  • 开启 - 从搜索结果点击进入文章详情页时,搜索关键词会在文章中高亮显示
  • 关闭 - 不在文章详情页高亮关键词
  • 高亮底色 - 文章详情页关键词高亮的背景颜色,默认:#ffeb3b
  • 高亮文字颜色 - 文章详情页关键词高亮的文字颜色,默认:#cc493d

搜索建议设置

  • 搜索建议功能
  • 开启 - 搜索框会显示基于热门搜索的自动补全建议
  • 关闭 - 不显示搜索建议

搜索统计设置

  • 搜索统计功能
  • 开启 - 记录用户的搜索关键词和搜索次数,用于分析热门搜索
  • 关闭 - 保留数据表但停止记录新数据
  • 统计报表 - 查看热门搜索关键词和搜索趋势分析
  • 数据管理
  • 清空数据(保留表) - 清空所有统计数据,保留数据表
  • 删除数据表 - 完全删除搜索统计表
  • 缓存预热 - 预加载热门文章到缓存

所见即所得 站内实时搜索插件SiteSearch V1.1.0正式版

使用说明

前台使用

  1. 打开搜索框
  2. 双击键盘上的 S 键(两次按键间隔小于 300 毫秒)
  3. 或点击导航栏上的搜索图标
  4. 移动端点击悬浮搜索按钮
  5. 输入关键词
  6. 输入关键词后会实时显示搜索结果
  7. 搜索框下方会显示搜索建议(如果开启)
  8. 搜索结果根据后台设置的搜索范围显示
  9. 支持大小写不敏感搜索
  10. 查看搜索历史
  11. 输入框获得焦点时显示搜索历史
  12. 点击历史记录可快速搜索
  13. 查看结果
  14. 标题匹配:显示标题(关键词标红)
  15. 内容匹配:显示标题 + 内容片段(关键词标红)
  16. 支持按时间、相关度、浏览量、评论数排序
  17. 进入文章
  18. 点击搜索结果进入文章详情页
  19. 如果开启了文章高亮功能,关键词会在文章中高亮显示
  20. 页面自动滚动到第一个高亮位置
  21. 关闭搜索框
  22. ESC
  23. 点击搜索框外部区域

搜索结果说明

根据后台设置的搜索范围,搜索结果会有所不同:

仅搜索标题时:

  • 只显示标题中包含关键词的文章
  • 不显示内容片段

搜索标题和内容时:

  • 显示标题中包含关键词的文章
  • 显示内容中包含关键词的文章(标题不匹配但内容匹配)
  • 内容匹配的文章会显示包含关键词的文本片段

快捷键

快捷键功能
双击 S打开/关闭搜索框
ESC关闭搜索框
上下箭头导航搜索结果/搜索历史
Enter搜索/打开选中结果

技术说明

  • 插件使用 AJAX 技术实现实时搜索
  • 搜索结果通过 JSON 格式返回
  • 支持中文搜索
  • 不修改数据库结构
  • 采用分批处理机制,减少内存使用
  • 前端实现 LRU 缓存算法,提高响应速度
  • 服务端文件缓存机制,减轻服务器压力
  • 支持鸿蒙等多种设备浏览器
  • 关键词长度限制,防止恶意攻击
  • 搜索频率限制,保护服务器资源
  • CSRF防护,支持降级处理确保兼容性
  • 支持多种排序方式(时间、相关度、浏览量、评论数)
  • 搜索建议功能,基于热门搜索和文章标题
  • 搜索统计功能,记录用户搜索行为
  • 数据管理功能,支持统计报表和数据清理

兼容性

  • 桌面端:支持 Chrome、Firefox、Safari、Edge 等主流浏览器
  • 移动端:支持 iOS、Android、鸿蒙等系统的浏览器
  • 平板端:完美适配平板设备
  • 鸿蒙设备:特别优化,支持鸿蒙及鸿蒙 NEXT 系统
  • Typecho版本:支持 PHP 5.6 及以上版本

所见即所得 站内实时搜索插件SiteSearch V1.1.0正式版

更新日志

v1.1.0

  • 新增搜索建议(自动补全)功能
  • 新增搜索统计功能,记录用户搜索关键词
  • 新增统计报表和数据管理功能
  • 新增自定义高亮样式(背景色和文字色)
  • 新增搜索历史数量自定义设置
  • 新增多种排序方式(相关度、浏览量、评论数)
  • 新增服务端文件缓存机制
  • 新增CSRF防护(支持降级处理)
  • 新增文章详情页关键词高亮功能
  • 优化鸿蒙设备兼容性
  • 修复搜索建议和搜索功能timer冲突问题
  • 优化响应式设计,适配平板设备
  • 添加触摸事件优化
  • 修复移动端键盘问题
  • 优化数据库查询性能
  • 修复高亮DOM结构问题
  • 改进URL编码处理
  • 修复 XSS 安全漏洞
  • 修复 CORS 安全配置问题
  • 添加关键词长度限制(50字符)
  • 添加搜索频率限制(每分钟30次)
  • 实现 LRU 缓存算法,限制缓存大小
  • 修复 Page 类型文章 URL 生成问题
  • 优化高亮脚本加载策略(按需加载)
  • 添加安全响应头部

v1.0.0

  • 初始版本发布
  • 支持实时搜索
  • 支持双击 S 键快捷键
  • 支持搜索范围设置
  • 支持关键词高亮显示
  • 支持多设备兼容
  • 支持无结果限制

下载地址:https://wwaza.lanzouq.com/b00jf62xtg
网盘密码:

此内容需要评论后才能查看哦 (*^▽^*)