dovecot的全文搜索
试了一下这个基于 CLucene 的全文搜索,似乎还不错。这里记一下过程。
首先是给dovecot安装Lucene插件,用FreeBSD port来安装的话,只需make config,选择LUCENE然后portmaster dovecot即可。
配置也还算容易,我之前已经做了索引与数据分开,因此并不需要单独的配置,只需在dovecot.conf中增加:
| |
然后重启dovecot,运行 doveadm index -A '*' 就行了。注意,-A 需要userdb的支持。
日常维护方面,目前dovecot预设是在搜索的时候重新抓取索引,而邮件送达时则不会做任何其他处理。我目前用的解法是让cron每隔11分钟跑一次 doveadm index -A INBOX 来重做 INBOX 的索引。另外,用FreeBSD的periodic每天更新一次全部索引 (doveadm index -A '*'),并在每月做一次 doveadm fts rescan -A(这个其实并不是必须的,主要是防止出现直接操作Mailbox时出现不一致的情况)。