Diff below updates dovecot-fts-xapian to 1.2.9. I've tested this on amd64 by reindexing a 10,000 msg+ mailbox with attachments, seems to behave correctly.
Upstream added a new parameter to control whether attachments are indexed (user reported a Perl attachment caused memory exhaustion in Xapian). This is described with the other parameters in the pkg/README in lieu of a man page. Index: Makefile =================================================================== RCS file: /cvs/ports/mail/dovecot-fts-xapian/Makefile,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 Makefile --- Makefile 6 Feb 2020 11:30:32 -0000 1.1.1.1 +++ Makefile 15 Feb 2020 00:55:55 -0000 @@ -2,7 +2,7 @@ COMMENT= full text search plugin for Dovecot using Xapian -V= 1.2.8 +V= 1.2.9 GH_ACCOUNT= grosjo GH_PROJECT= fts-xapian Index: distinfo =================================================================== RCS file: /cvs/ports/mail/dovecot-fts-xapian/distinfo,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 distinfo --- distinfo 6 Feb 2020 11:30:32 -0000 1.1.1.1 +++ distinfo 15 Feb 2020 00:55:55 -0000 @@ -1,2 +1,2 @@ -SHA256 (fts-xapian-1.2.8.tar.gz) = Y/B+xscRAkop9Blfl+eX1ORcXQ8jFpej46PqD/9qgmU= -SIZE (fts-xapian-1.2.8.tar.gz) = 25982 +SHA256 (fts-xapian-1.2.9.tar.gz) = eCEyXJh9eAjwZeadFWSFOi4JD9ZIddYP7eUeoaT/ryA= +SIZE (fts-xapian-1.2.9.tar.gz) = 26516 Index: pkg/README =================================================================== RCS file: /cvs/ports/mail/dovecot-fts-xapian/pkg/README,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 README --- pkg/README 6 Feb 2020 11:30:32 -0000 1.1.1.1 +++ pkg/README 15 Feb 2020 00:55:55 -0000 @@ -18,13 +18,22 @@ Then configure the plugin's settings in plugin { fts = xapian - fts_xapian = partial=2 full=20 verbose=0 + fts_xapian = partial=2 full=20 attachments=0 verbose=0 fts_autoindex = yes fts_enforced = yes fts_autoindex_exclude = \Trash } + +Parameters 'partial' and 'full' are required, and allow control over the length +of n-grams generated for searching header fields. + +Parameter 'attachments' defaults to off. Setting it to 1 will enable indexing of +text attachments. + +Parameter 'verbose' can be set between 0 (default) and 2 (debug) for more +detailed logging. New mail will be indexed incrementally. Use doveadm-index(1) to index existing mail, e.g.: