所见即所得 站内实时搜索插件SiteSearch V1.1.0正式版
AI摘要
SiteSearch 站内搜索插件
一个为 Typecho 博客系统开发的实时站内搜索插件,支持双击 S 键快速调出搜索框,兼容鸿蒙等多种设备。
功能特性
- 🔍 实时搜索 - 输入关键词即时显示搜索结果
- ⌨️ 快捷键支持 - 双击 S 键快速调出搜索框
- 🎯 搜索范围设置 - 支持仅搜索标题或搜索标题和内容
- 🔴 关键词高亮 - 搜索结果中关键词自动标红显示
- 📄 内容片段 - 内容匹配时显示包含关键词的文本片段
- 📱 响应式设计 - 适配移动端和桌面端
- 🛡️ 多设备兼容 - 支持鸿蒙、安卓、苹果等多种设备浏览器
- ⚡ 高性能 - 采用分批处理和缓存机制,确保搜索速度
- 📈 无结果限制 - 可返回所有匹配的搜索结果
- 🎨 文章高亮 - 从搜索结果进入文章,关键词在文章中高亮显示
- 💡 搜索建议 - 基于热门搜索和文章标题的自动补全功能
- 📊 搜索统计 - 记录用户搜索关键词,分析热门搜索趋势
- 🔧 数据管理 - 支持查看统计报表、清空数据、删除数据表
- 🎨 自定义高亮样式 - 可自定义文章详情页高亮的背景色和文字色
- 📝 搜索历史 - 保存搜索历史记录,数量可自定义
- 🔄 多种排序方式 - 支持按时间、相关度、浏览量、评论数排序
- 🛡️ CSRF防护 - 安全防护,支持降级处理确保兼容性
- 💾 文件缓存 - 服务端缓存机制,减轻服务器压力
安装方法
- 下载插件文件
- 将插件文件夹命名为
SiteSearch - 上传到 Typecho 的
/usr/plugins/目录 - 在后台插件管理中启用插件
配置说明
进入插件设置页面,可以配置以下选项:
基本设置
- 搜索范围
- 仅搜索标题 - 只搜索文章标题中包含关键词的内容
- 搜索标题和内容 - 同时搜索文章标题和正文内容
- 每页显示结果数 - 设置搜索结果每页显示的数量,默认为 10 条
- 搜索延迟 - 输入文字后触发搜索的延迟时间(毫秒),默认为 300 毫秒
- 搜索历史数量 - 搜索历史最多保存多少条记录,默认为 10 条
文章高亮设置
- 文章详情页关键词高亮
- 开启 - 从搜索结果点击进入文章详情页时,搜索关键词会在文章中高亮显示
- 关闭 - 不在文章详情页高亮关键词
- 高亮底色 - 文章详情页关键词高亮的背景颜色,默认:#ffeb3b
- 高亮文字颜色 - 文章详情页关键词高亮的文字颜色,默认:#cc493d
搜索建议设置
- 搜索建议功能
- 开启 - 搜索框会显示基于热门搜索的自动补全建议
- 关闭 - 不显示搜索建议
搜索统计设置
- 搜索统计功能
- 开启 - 记录用户的搜索关键词和搜索次数,用于分析热门搜索
- 关闭 - 保留数据表但停止记录新数据
- 统计报表 - 查看热门搜索关键词和搜索趋势分析
- 数据管理
- 清空数据(保留表) - 清空所有统计数据,保留数据表
- 删除数据表 - 完全删除搜索统计表
- 缓存预热 - 预加载热门文章到缓存
使用说明
前台使用
- 打开搜索框
- 双击键盘上的 S 键(两次按键间隔小于 300 毫秒)
- 或点击导航栏上的搜索图标
- 移动端点击悬浮搜索按钮
- 输入关键词
- 输入关键词后会实时显示搜索结果
- 搜索框下方会显示搜索建议(如果开启)
- 搜索结果根据后台设置的搜索范围显示
- 支持大小写不敏感搜索
- 查看搜索历史
- 输入框获得焦点时显示搜索历史
- 点击历史记录可快速搜索
- 查看结果
- 标题匹配:显示标题(关键词标红)
- 内容匹配:显示标题 + 内容片段(关键词标红)
- 支持按时间、相关度、浏览量、评论数排序
- 进入文章
- 点击搜索结果进入文章详情页
- 如果开启了文章高亮功能,关键词会在文章中高亮显示
- 页面自动滚动到第一个高亮位置
- 关闭搜索框
- 按 ESC 键
- 点击搜索框外部区域
搜索结果说明
根据后台设置的搜索范围,搜索结果会有所不同:
仅搜索标题时:
- 只显示标题中包含关键词的文章
- 不显示内容片段
搜索标题和内容时:
- 显示标题中包含关键词的文章
- 显示内容中包含关键词的文章(标题不匹配但内容匹配)
- 内容匹配的文章会显示包含关键词的文本片段
快捷键
| 快捷键 | 功能 |
|---|---|
| 双击 S | 打开/关闭搜索框 |
| ESC | 关闭搜索框 |
| 上下箭头 | 导航搜索结果/搜索历史 |
| Enter | 搜索/打开选中结果 |
技术说明
- 插件使用 AJAX 技术实现实时搜索
- 搜索结果通过 JSON 格式返回
- 支持中文搜索
- 不修改数据库结构
- 采用分批处理机制,减少内存使用
- 前端实现 LRU 缓存算法,提高响应速度
- 服务端文件缓存机制,减轻服务器压力
- 支持鸿蒙等多种设备浏览器
- 关键词长度限制,防止恶意攻击
- 搜索频率限制,保护服务器资源
- CSRF防护,支持降级处理确保兼容性
- 支持多种排序方式(时间、相关度、浏览量、评论数)
- 搜索建议功能,基于热门搜索和文章标题
- 搜索统计功能,记录用户搜索行为
- 数据管理功能,支持统计报表和数据清理
兼容性
- 桌面端:支持 Chrome、Firefox、Safari、Edge 等主流浏览器
- 移动端:支持 iOS、Android、鸿蒙等系统的浏览器
- 平板端:完美适配平板设备
- 鸿蒙设备:特别优化,支持鸿蒙及鸿蒙 NEXT 系统
- Typecho版本:支持 PHP 5.6 及以上版本
更新日志
v1.1.0
- 新增搜索建议(自动补全)功能
- 新增搜索统计功能,记录用户搜索关键词
- 新增统计报表和数据管理功能
- 新增自定义高亮样式(背景色和文字色)
- 新增搜索历史数量自定义设置
- 新增多种排序方式(相关度、浏览量、评论数)
- 新增服务端文件缓存机制
- 新增CSRF防护(支持降级处理)
- 新增文章详情页关键词高亮功能
- 优化鸿蒙设备兼容性
- 修复搜索建议和搜索功能timer冲突问题
- 优化响应式设计,适配平板设备
- 添加触摸事件优化
- 修复移动端键盘问题
- 优化数据库查询性能
- 修复高亮DOM结构问题
- 改进URL编码处理
- 修复 XSS 安全漏洞
- 修复 CORS 安全配置问题
- 添加关键词长度限制(50字符)
- 添加搜索频率限制(每分钟30次)
- 实现 LRU 缓存算法,限制缓存大小
- 修复 Page 类型文章 URL 生成问题
- 优化高亮脚本加载策略(按需加载)
- 添加安全响应头部
v1.0.0
- 初始版本发布
- 支持实时搜索
- 支持双击 S 键快捷键
- 支持搜索范围设置
- 支持关键词高亮显示
- 支持多设备兼容
- 支持无结果限制
下载地址:https://wwaza.lanzouq.com/b00jf62xtg
网盘密码:
此内容需要评论后才能查看哦 (*^▽^*)
似水流年
一位80后大叔的网络后花园,记录日常生活及兴趣爱好。
版权属于:
似水流年的博客
本文链接:
https://my1981.cn/technology/106.html
作品采用:
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可


@网友小宋 别开玩笑了,哈哈。
@obaby 主要是找不到合适的插件。
@Jason 你的插件更为强大!
@Vind 有时候确实卡顿一下。