dovecot的全文搜索


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

相关内容

    暂无相关文章