搜索
Orama(默认)
使用 Orama 作为 Fumadocs 的默认搜索引擎
Fumadocs 内置 Orama 作为默认搜索引擎。系统通过服务端 API 端点或静态缓存的 JSON 文件(用于静态网站)运行。
设置
创建搜索对话框
有两种实现方式:
Fetch 模式(默认)
基于 fetch 的实现使用 useDocsSearch,设置 type: 'fetch'。开发者可以使用 fumadocs-ui/components/dialog/search 中的组件重建默认 UI,包括:
SearchDialog、SearchDialogOverlay、SearchDialogContentSearchDialogHeader、SearchDialogIcon、SearchDialogInputSearchDialogClose、SearchDialogList
hook 接受可选的 locale 参数用于国际化支持。
静态模式
对于静态导出,开发者需要:
- 安装 Orama 包:
npm install @orama/orama- 在搜索服务器上配置静态模式
- 使用
static客户端类型调用useDocsSearch - 使用 schema 定义和语言配置初始化 Orama
替换搜索对话框
自定义搜索对话框通过 <RootProvider /> 的 search prop 传递 SearchDialog 组件集成。
标签过滤
可选的基于标签的过滤:
- 在搜索服务器上配置标签过滤器
- 使用
useState管理标签状态 - 将标签参数传递给
useDocsSearch - 在
SearchDialogFooter中实现TagsList和TagsListItem组件