toMedia
搜索

Orama(默认)

使用 Orama 作为 Fumadocs 的默认搜索引擎

Fumadocs 内置 Orama 作为默认搜索引擎。系统通过服务端 API 端点或静态缓存的 JSON 文件(用于静态网站)运行。

设置

创建搜索对话框

有两种实现方式:

Fetch 模式(默认)

基于 fetch 的实现使用 useDocsSearch,设置 type: 'fetch'。开发者可以使用 fumadocs-ui/components/dialog/search 中的组件重建默认 UI,包括:

  • SearchDialogSearchDialogOverlaySearchDialogContent
  • SearchDialogHeaderSearchDialogIconSearchDialogInput
  • SearchDialogCloseSearchDialogList

hook 接受可选的 locale 参数用于国际化支持。

静态模式

对于静态导出,开发者需要:

  1. 安装 Orama 包:
npm install @orama/orama
  1. 在搜索服务器上配置静态模式
  2. 使用 static 客户端类型调用 useDocsSearch
  3. 使用 schema 定义和语言配置初始化 Orama

替换搜索对话框

自定义搜索对话框通过 <RootProvider />search prop 传递 SearchDialog 组件集成。

标签过滤

可选的基于标签的过滤:

  1. 在搜索服务器上配置标签过滤器
  2. 使用 useState 管理标签状态
  3. 将标签参数传递给 useDocsSearch
  4. SearchDialogFooter 中实现 TagsListTagsListItem 组件

On this page