中文搜索配置
中文内容没有天然空格分词,搜索工具需要额外处理。Pagefind 的扩展版本包含针对中文、日文等语言的专门支持。
设置 html lang
Pagefind 会读取页面 <html> 上的 lang 属性,并根据语言建立对应索引:
<html lang="zh-CN">
对于中文站点,建议始终设置 lang="zh-CN" 或更具体的中文语言标签。这不仅有利于 Pagefind,也有利于浏览器、屏幕阅读器和 SEO。
使用 extended 版本
通过 npx pagefind 运行时会使用扩展版本,包含中文与日文索引支持。Python 方式应安装:
python3 -m pip install 'pagefind[extended]'
下载二进制文件时,应选择:
./pagefind_extended --site public
强制单一语言索引
如果站点内容基本都是中文,可以使用:
pagefind --site dist --force-language zh
这样会忽略页面上检测到的语言,为整个站点创建一个中文索引。对于中文教程站、中文博客和统一语言的文档站,这通常能减少“页面 lang 不一致导致搜索范围被切开”的问题。
中文查询特点
Pagefind 对中文这类特殊语言会做分词处理。用户搜索连续中文词组时,查询会被切成可匹配的词;用户也可以用空格分隔多个词来扩大匹配。
例如搜索:
静态网站搜索
通常可以匹配同时包含相关中文分词的页面。对于精确短语,用户可以尝试带引号的查询,但中文技术词汇仍应通过标题、摘要和元数据辅助命中。
技术文档建议
中文技术文档常混合英文标识符、符号和命令。建议:
- 标题里保留官方英文名,例如
Pagefind、data-pagefind-body。 - 正文第一次出现缩写时写出中文解释。
- 对重要命令、配置项和属性使用代码格式。
- 必要时通过
include_characters保留<、>、$、+等符号。 - 用元数据补充同义词,例如把“站内搜索”“全文搜索”“静态搜索”写入描述字段。