Quartz 的全文搜索功能由 Flexsearch 驱动。即使对于多达 50 万字的 Quartz 站点,它也能在 10 毫秒内返回搜索结果。
可以通过点击搜索栏或按下 ⌘
/ctrl
+ K
打开搜索框。每次查询会显示前 5 个搜索结果。匹配的子项会高亮显示,并摘录最相关的 30 个单词。点击搜索结果将跳转到对应页面。
要通过标签搜索内容,可以按下 ⌘
/ctrl
+ shift
+ K
或在查询前添加 #
符号(例如 #components
)。
该组件支持键盘操作:Tab 和 Shift+Tab 可以向前/向后循环切换搜索结果,Enter 将导航到高亮显示的搜索结果(默认第一个结果)。也可以使用 ↑
和 ↓
方向键浏览搜索结果。
Info
搜索功能需要configuration中存在
ContentIndex
发射器插件。
索引行为
默认情况下,它会索引站点的所有页面并移除 Markdown 语法。这意味着例如链接 URL 不会被索引。
它能正确对中文、韩文和日文字符进行分词处理,并为标题、内容和标签构建独立的索引,其中标题匹配的权重高于内容匹配。
自定义选项
- 移除搜索功能:从
quartz.layout.ts
中删除所有Component.Search()
的引用 - 组件文件:
quartz/components/Search.tsx
- 样式文件:
quartz/components/styles/search.scss
- 脚本文件:
quartz/components/scripts/search.inline.ts
- 可修改
contextWindowWords
(上下文窗口字数)、numSearchResults
(搜索结果数量)或numTagResults
(标签结果数量)等参数以适应需求
- 可修改