跳转至

设置站点搜索

DocsForge 包含一个强大的客户端搜索引擎。它默认通过 search 插件启用。

配置

基本设置

搜索默认已启用:

plugins:
  - search

搜索分隔符

控制搜索词如何拆分为分词:

plugins:
  - search:
      separator: '[\s\u200b\-_,:!=\[\]()"`\/]+|\.(?!\d)|&[lg]t;|(?!\b)(?=[A-Z][a-z])'

默认分隔符会在以下位置拆分:
- 空格和零宽空格
- 连字符、下划线、逗号、冒号
- 驼峰命名边界(例如,MyClassMy + Class

语言

为你的语言配置搜索词干提取:

plugins:
  - search:
      lang: en

支持的语言包括:endeesfrjaptruzh

搜索功能

theme.features 中启用:

高亮

在搜索结果中高亮显示匹配的词条:

theme:
  features:
    - search.highlight

建议

在你输入时显示自动完成建议:

theme:
  features:
    - search.suggest

共享搜索

允许用户分享搜索结果的直接链接:

theme:
  features:
    - search.share

完整搜索配置

theme:
  features:
    - search.highlight
    - search.suggest
    - search.share

plugins:
  - search:
      separator: '[\s\u200b\-_,:!=\[\]()"`\/]+|\.(?!\d)|&[lg]t;|(?!\b)(?=[A-Z][a-z])'
      lang: en

搜索行为

  • 即时:结果在你输入时立即显示,无需服务器往返
  • 模糊匹配:容忍轻微的拼写错误
  • 词干提取:搜索 "run" 可以找到 "running"、"runs" 等
  • 排序:结果按相关性排序(标题匹配的排名更高)
  • 摘要:每个结果都显示带上下文的片段

从搜索中排除内容

添加 search.exclude 前置元数据以隐藏页面:

---
search:
  exclude: true
---

或者使用 HTML 注释排除特定部分:

<!--search exclude-->
此内容不会被索引。
<!--end search exclude-->

后续步骤