漫游笔记的搜索功能
以下内容需要开启 扩展搜索,目前本站已禁用扩展搜索,所以以下内容不再适用。
本站的搜索功能是使用 fusejs 实现的,之前写过一篇笔记:使用 fusejs 给 hugo 博客增加搜索功能,大致介绍了如何实现。
点击右上角的搜索图标或者按下键盘的 / 键,即可打开搜索框。
模糊搜索
默认搜索行为就是模糊搜索,输入任何关键字,即可搜索。
搜索包含 python 关键字的内容,输入:python 或者 pythno

可以看到,即便输入了错误的单词,也能搜索到结果。此处的“模糊”程度,取决于 threshold 配置项。但是经过实测,模糊搜索不是很“智能”。
除了模糊搜索,fusejs 还提供了很多高级搜索功能。
精确匹配关键字
输入:=操作系统
这个搜索方式,需要字符串的每一个字符都和关键字匹配,才能被搜索到。字符串的长度取决于如何构建源数据(index.json)。
包含关键字
输入:'python
和模糊搜索不同,如果输入 'pythno,搜索结果将只展示包含错误单词 pythno 的记录:
以关键字开头
输入:^python
以关键字结尾
输入:github$
取反搜索
上述介绍了三种高级搜索功能
- 包含 'python
- 以关键字开头 ^python
- 以关键字结尾 python$
对应的三种取反搜索是
- 不包含 !python
- 不以关键字开头 !^python
- 不以关键字结尾 !python$
单独的使用取反搜索意义也不是很大,通常用来进一步过滤搜索结果。
输入:factory$,会得到:
此时输入: factory$ !class,即可排除包含 class 单词的搜索结果
搜索保留字符
todo