FairEmail Pro 搜索索引与同步调度详解
什么是本地搜索索引
FairEmail 免费版的本地搜索是一种即时扫描模式——每次你搜索时,FairEmail 会完整遍历本地数据库中所有邮件的所有字段,逐个匹配关键词。邮件量少的时候这个很快(几百封可能几百毫秒),但本地邮件量到了上万封时,每次搜索都要等几秒。
Pro 的本地搜索索引提前为所有本地邮件建立了一份持久化索引(类似数据库的索引或搜索引擎的倒排索引),搜索时直接查索引表,基本瞬间返回——哪怕本地有 10 万封邮件。
开启本地搜索索引
- FairEmail 设置 → 手动设置 → 账户 → 选择某个账户 → 高级选项
- 找到「本地搜索索引」开关 → 启用
- FairEmail 会立即开始在后台为该账户的所有本地邮件建立索引
索引耗时
首次建立索引的耗时取决于本地邮件量:
- 1000 封邮件:几秒内完成
- 10000 封邮件:几十秒到一两分钟
- 50000 封邮件:可能需要 5~10 分钟(但后台进行,不影响正常使用)
索引期间 FairEmail 会显示一个进度条,你可以继续收发邮件。索引完成后,后续每次搜索都会利用这份索引。
索引存储开销
- 索引数据追加在 FairEmail 本地 SQLite 数据库中
- 约占邮件数据总量的 10%~20%(具体取决于邮件正文平均长度和内容复杂度)
- 不会创建额外的独立文件或数据库
索引自动更新
建立索引后,FairEmail 会在每次同步新邮件时自动增量更新索引——新到达的邮件会被立刻加入索引,已删除的邮件会被从索引中移除。你不需要手动重建索引。
索引重建
如果怀疑索引损坏(比如搜索结果明显不对),可以手动重建:
- 设置 → 手动设置 → 账户 → 选择账户 → 高级选项 → 「重建搜索索引」
重建会先删除旧索引,再重新建立,耗时和首次建立相同。
同步调度:让 FairEmail 只在特定时间同步
FairEmail 默认保持 IMAP IDLE 常驻连接,新邮件到达立即推送。但某些场景下你可能不想一直保持连接:
- 手机在开会期间不想被邮件通知打扰
- 夜间 00:00~08:00 不想同步(省电 + 不被打扰)
- 只有在 Wi-Fi 环境下才想同步(节省移动数据)
- 度假期间关闭同步
同步调度(Synchronization scheduling) 是 Pro 功能之一,解决的就是这个问题。
调度粒度
FairEmail 的同步调度可以按以下维度精细控制:
- 按时间:周一至周五 09:00~18:00 同步,其他时间暂停
- 按日期:周末(周六周日)不同步
- 按网络:只在 Wi-Fi 下同步,移动网络不同步
- 按账户:A 账户全天候同步,B 账户只在工作时间同步
- 组合条件:周一至周五的 Wi-Fi 环境下同步(时间 + 网络双重条件)
调度和 IMAP IDLE 的关系
IMAP IDLE 是 FairEmail 保持实时推送的连接协议。启用同步调度后,FairEmail 会在暂停期间主动断开 IMAP IDLE 连接,在同步期间再重新建立连接。这样既能让服务端在暂停期间不推送,又能在恢复时无缝切换。
手动同步(随时可用)
即使开启了同步调度,你仍然可以在任何时候手动触发同步:
- 从左侧抽屉下拉消息列表 → 手动刷新
- 或点击 FairEmail 通知栏的手动同步按钮
手动同步不受调度约束——随时可用。这在调度暂停期间你突然想看邮件时特别有用。
Pro 功能:时间段推迟
公平地说,同步调度的某些高级用法和「消息推迟(Snooze)」功能会产生交叉——比如让订阅邮件在工作时间被推迟(隐藏),而不是让同步完全停止。两者的区别:
| 功能 | 效果 |
|---|---|
| 同步调度暂停 | FairEmail 完全不同步,邮件积压在服务器 |
| 消息推迟 | FairEmail 继续同步,但某些邮件被隐藏不显示 |
一般来说,消息推迟更适合精细化场景(只隐藏某些邮件),同步调度更适合粗粒度场景(整个账户在整个时间段暂停同步)。两者可以同时使用。
电池与数据使用(免费版也可参考)
虽然同步调度是 Pro 功能,但免费版也可以参考以下建议来降低 FairEmail 的资源消耗:
电池消耗
- 默认 IMAP IDLE 连接会保持一个前台服务运行(Android 8+ 会显示常驻通知)——这是正常开销
- 关闭「同步所有文件夹」:只同步你常用的那几个文件夹,避免后台处理无关文件夹
- 设置文件夹同步频率(在文件夹属性中):归档文件夹可以设成每小时同步,不用实时推送
- Android 系统设置 → 电池 → FairEmail → 确认没有被设置为「深度睡眠」或「电池优化」
数据使用
- 设置 → 手动设置 → 账户 → 选择账户 → 「消息预览长度」设为较短(比如只同步前 1000 字符,不全量下载长邮件)
- 关闭远程图片自动加载(默认就是关的)
- 附件默认只下载文件名和大小,不自动下载内容
- 定期清理旧邮件(FairEmail 的本地存储上限可以在设置中配置)