Lucene Full Text Search Indexing
Requires Dovecot v2.1+ to work properly. The CLucene version must be v2.3 (not v0.9).
Dovecot builds only a single Lucene index for all mailboxes. The Lucene indexes are stored in lucene-indexes/ directory under the mail root index directory (e.g. ~/Maildir/lucene-indexes/).
Configuration
mail_plugins = $mail_plugins fts fts_lucene
plugin {
fts = lucene
#fts_lucene = <fts-lucene settings>
}The fts-lucene settings include:
whitespace_chars=<chars>: List of characters that are translated to whitespace. You may want to use "@." so that e.g. in "first.last@example.org" it won't be treated as a single word, but rather you can search separately for "first", "last" and "example".
default_language=<lang>: Default stemming language to use for mails. The default is english. Requires that Dovecot is built with libstemmer, which also limits the languages that are supported.
textcat_conf=<path> textcat_dir=<path>: If specified, enable guessing the stemming language for emails and search keywords. This is a little bit problematic in practice, since indexing and searching languages may differ and may not find even exact words because they stem differently.
Libraries
CLucene: Get v2.3.3.4 (not v0.9)
libstemmer: Builds libstemmer.o, which you can rename to libstemmer.a
