diff --git a/core/dovecot/conf/dovecot.conf b/core/dovecot/conf/dovecot.conf index 0539ac68..906b0e30 100644 --- a/core/dovecot/conf/dovecot.conf +++ b/core/dovecot/conf/dovecot.conf @@ -65,9 +65,9 @@ plugin { fts_enforced = yes fts_autoindex_exclude = \Trash fts_autoindex_exclude1 = \Junk - fts_filters = normalizer-icu stopwords - fts_filters_en = lowercase english-possessive stopwords - fts_filters_fr = lowercase contractions stopwords + fts_filters = normalizer-icu snowball stopwords + fts_filters_en = lowercase snowball english-possessive stopwords + fts_filters_fr = lowercase snowball contractions stopwords fts_header_excludes = Received DKIM-* ARC-* X-* x-* Comments Delivered-To Return-Path Authentication-Results Message-ID References In-Reply-To Thread-* Accept-Language Content-* MIME-Version {% if FULL_TEXT_SEARCH_ATTACHMENTS %} fts_tika = http://{{ FTS_ATTACHMENTS_ADDRESS }}:9998/tika/ diff --git a/core/rspamd/conf/external_services.conf b/core/rspamd/conf/external_services.conf index 609f341b..2557bcb7 100644 --- a/core/rspamd/conf/external_services.conf +++ b/core/rspamd/conf/external_services.conf @@ -7,8 +7,8 @@ oletools { scan_mime_parts = true; extended = true; max_size = 3145728; - timeout = 20.0; - retransmits = 1; + timeout = 60.0; + retransmits = 10; patterns { OLETOOLS_MACRO_FOUND= '^.....M..$'; diff --git a/towncrier/newsfragments/2977.misc b/towncrier/newsfragments/2977.misc new file mode 100644 index 00000000..afc9c97b --- /dev/null +++ b/towncrier/newsfragments/2977.misc @@ -0,0 +1 @@ +Improve FTS by adding the snowball filter. This should significantly cut down the size of indexes. You may want to re-index after upgrading. diff --git a/webmails/roundcube/config/config.inc.php b/webmails/roundcube/config/config.inc.php index 045919da..0791bad9 100644 --- a/webmails/roundcube/config/config.inc.php +++ b/webmails/roundcube/config/config.inc.php @@ -18,6 +18,11 @@ $config['session_lifetime'] = {{ (((PERMANENT_SESSION_LIFETIME | default(10800)) $config['request_path'] = '{{ WEB_WEBMAIL or "none" }}'; $config['trusted_host_patterns'] = [ {{ HOSTNAMES.split(",") | map("tojson") | join(',') }}]; +{% if (FULL_TEXT_SEARCH or '').lower() not in ['off', 'false', '0'] %} +$config['search_mods'] = ['*' => ['subject'=>1, 'from'=>1, 'to'=>1, 'cc'=>1, 'bcc'=>1, 'replyto'=>1, 'followupto'=>1, 'body'=>1]]; +$config['search_scope'] = 'sub'; +{% endif %} + // Mail servers $config['imap_host'] = 'tls://{{ FRONT_ADDRESS or "front" }}:10143'; $config['imap_conn_options'] = array( diff --git a/webmails/snappymail/defaults/default.json b/webmails/snappymail/defaults/default.json index d7659405..12252aee 100644 --- a/webmails/snappymail/defaults/default.json +++ b/webmails/snappymail/defaults/default.json @@ -12,7 +12,10 @@ "SNI_enabled": true, "disable_compression": true, "security_level": 1 - } + }, + {% if (FULL_TEXT_SEARCH or '').lower() not in ['off', 'false', '0'] %} + "fast_simple_search": "false" + {% endif %} }, "SMTP": { "host": "{{ FRONT_ADDRESS }}",