This is explicitly noted in https://doc.dovecot.org/2.4.4/core/plugins/fts_flatcurve.html#fts_flatcurve_substring_search
Substring search is likely increasing your storage size by >5x compared to it being off. This is a limitation of the xapian library itself - it does not natively support substring search (it is designed for prefix search), so it requires extensive additional indexing to get substring search to work. michael > On 05/14/2026 2:21 PM MDT Jean-Daniel Beaubien via dovecot > <[email protected]> wrote: > > > Hi everyone, > > I am currently trying to update from an old dovecot 2.3 setup with > fts-lucene to 2.4.2 with fts-flatcurve. > > However, I am seeing a giant jump in the size of the indexes. > > For an email account that takes 12GB of storage, I get the following index > sizes: > > - lucene: 270 MB > - flatcurve: 2400 MB > > > That is almost a 10x increase in the index size (with flatcurve the indexes > represent 20% of the size of the mailbox). > > Considering I have a mailbox that takes 270GB, I can't imagine the size of > the indexes. > > *Am I doing something wrong with flatcurve? How can the indexes be so much > larger than lucene?* > > I took the default flatcurve configuration from the Ubuntu 26.04 install: > mail_plugins { > fts = yes > fts_flatcurve = yes > } > > fts_autoindex = yes > > language_filters = normalizer-icu snowball stopwords > > language_tokenizers = generic email-address > language_tokenizer_generic_algorithm = simple > > language en { > default = yes > filters = lowercase snowball english-possessive stopwords > } > > fts flatcurve { > # All of these are optional, and indicate the default values. > # They are listed here for documentation purposes; most people should not > # need to define/override in their config. > # commit_limit = 500 > # max_term_size = 30 > # min_term_size = 2 > # optimize_limit = 10 > # rotate_count = 5000 > # rotate_time = 5000 > substring_search = yes > } > > *Any help/insight would be greatly appreciated.* > > Best regards, > > -J > Hi everyone, > I am currently trying to update from an old dovecot 2.3 setup with > fts-lucene to 2.4.2 with fts-flatcurve. > However, I am seeing a giant jump in the size of the indexes. > For an email account that takes 12GB of storage, I get the following index > sizes: > > o lucene: 270 MB > o flatcurve: 2400 MB > > That is almost a 10x increase in the index size (with flatcurve the > indexes represent 20% of the size of the mailbox). > Considering I have a mailbox that takes 270GB, I can't imagine the size of > the indexes. > Am I doing something wrong with flatcurve? How can the indexes be so much > larger than lucene? > I took the default flatcurve configuration from the Ubuntu 26.04 install: > mail_plugins { > fts = yes > fts_flatcurve = yes > } > > fts_autoindex = yes > > language_filters = normalizer-icu snowball stopwords > > language_tokenizers = generic email-address > language_tokenizer_generic_algorithm = simple > > language en { > default = yes > filters = lowercase snowball english-possessive stopwords > } > > fts flatcurve { > # All of these are optional, and indicate the default values. > # They are listed here for documentation purposes; most people should > not > # need to define/override in their config. > # commit_limit = 500 > # max_term_size = 30 > # min_term_size = 2 > # optimize_limit = 10 > # rotate_count = 5000 > # rotate_time = 5000 > substring_search = yes > } > Any help/insight would be greatly appreciated. > Best regards, > -J > _______________________________________________ > dovecot mailing list -- [email protected] > To unsubscribe send an email to [email protected] _______________________________________________ dovecot mailing list -- [email protected] To unsubscribe send an email to [email protected]
