搜索索引构建与四种索引引擎的选择
默认状态全局搜索是关的(提示 Search not available),要先构建索引。入口在后台「索引」页。
开启三步
- 索引页选一个搜索引擎,保存;
- 点「构建索引」,等它跑完;
- 前台 Ctrl+K 或点搜索框开始搜。
四种引擎怎么选
| 引擎 | 中文支持 | 速度 | 资源占用 | 备注 |
|---|---|---|---|---|
| 数据库(全文) | 差,中文基本搜不到 | 快 | 低 | 默认推荐给 sqlite 用户 |
| 数据库(非全文) | 较准 | 稍慢但可接受 | 低 | MySQL 数据库用户强烈推荐 |
| bleve | 模糊匹配 | 快 | 高 | 不支持增量更新,改动要全量重建 |
| meilisearch | 需自建服务 | 快 | 独立进程 | 专业用户,需另行部署其服务 |
经验法则:sqlite 数据库两者随便选;MySQL 用非全文搜索;文件名以中文为主时优先非全文或 bleve。
实用配置项
- 忽略路径:一行一个路径,构建时跳过(如不索引某个大网盘);或直接在该存储上开「禁用索引」。
- 自动更新索引:默认关闭。打开后新挂载的网盘、更新的文件夹一被访问就自动补索引,适合全量索引的用户;不想要全量就用下面的手动更新。
- 更新索引:只重建指定路径,适合「不想全量、又新增了一批文件」的场景。
- 最大索引深度:默认 20 层,超深目录只索引前 20 层。
两个坑
- sqlite 构建索引时报 database is locked:构建期间别在后台同时改配置;开了自动索引的先关掉再重启。
- 「全文搜索」搜的是文件名不是文件内容,别指望它当全文检索用。
索引建好后,浏览页的搜索体验才完整,见浏览文件。