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