给Jekyll站点添加全文检索功能
💡
原文中文,约4900字,阅读约需12分钟。
📝
内容提要
本文介绍了如何在基于Jekyll的纯静态站点中添加全文检索功能,使用FlexSearch作为全文检索引擎,并修改其encode方法以支持中英文检索。同时,使用Liquid模板生成文章内容的JSON文件,并构建一个搜索页面,最终实现了基于关键词的全文检索功能。
🎯
关键要点
- 本文介绍了如何在基于Jekyll的静态站点中添加全文检索功能。
- 全文检索通过关键词匹配内容,适合内容较多的情况需要建立索引。
- 选择FlexSearch作为全文检索引擎,支持中英文检索,性能更好。
- 修改FlexSearch的encode方法以支持中文按字拆分,英文按单词拆分。
- 使用Liquid模板生成文章内容的JSON文件,包含标题、正文、发布时间和URL。
- 构建搜索页面,包含输入框、搜索按钮和搜索结果展示区域。
- 使用JavaScript下载posts.json并建立索引,支持关键词搜索。
- 使用History API更新浏览器历史,支持前进和后退检索记录。
- 搜索结果中高亮关键词,并显示关键词前后的内容。
- 全文检索功能还有优化空间,如大小写匹配、词型还原等。
🏷️
标签
➡️