中文搜索配置

中文内容没有天然空格分词,搜索工具需要额外处理。Pagefind 的扩展版本包含针对中文、日文等语言的专门支持。

设置 html lang

Pagefind 会读取页面 <html> 上的 lang 属性,并根据语言建立对应索引:

html
<html lang="zh-CN">

对于中文站点,建议始终设置 lang="zh-CN" 或更具体的中文语言标签。这不仅有利于 Pagefind,也有利于浏览器、屏幕阅读器和 SEO。

使用 extended 版本

通过 npx pagefind 运行时会使用扩展版本,包含中文与日文索引支持。Python 方式应安装:

bash
python3 -m pip install 'pagefind[extended]'

下载二进制文件时,应选择:

bash
./pagefind_extended --site public

强制单一语言索引

如果站点内容基本都是中文,可以使用:

bash
pagefind --site dist --force-language zh

这样会忽略页面上检测到的语言,为整个站点创建一个中文索引。对于中文教程站、中文博客和统一语言的文档站,这通常能减少“页面 lang 不一致导致搜索范围被切开”的问题。

中文查询特点

Pagefind 对中文这类特殊语言会做分词处理。用户搜索连续中文词组时,查询会被切成可匹配的词;用户也可以用空格分隔多个词来扩大匹配。

例如搜索:

text
静态网站搜索

通常可以匹配同时包含相关中文分词的页面。对于精确短语,用户可以尝试带引号的查询,但中文技术词汇仍应通过标题、摘要和元数据辅助命中。

技术文档建议

中文技术文档常混合英文标识符、符号和命令。建议:

  • 标题里保留官方英文名,例如 Pagefinddata-pagefind-body
  • 正文第一次出现缩写时写出中文解释。
  • 对重要命令、配置项和属性使用代码格式。
  • 必要时通过 include_characters 保留 <>$+ 等符号。
  • 用元数据补充同义词,例如把“站内搜索”“全文搜索”“静态搜索”写入描述字段。