mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2025-07-10 01:15:00 +02:00
Also removed the FAQ inline heading link for Rancher. It's not a relevant link (as the question already expects knowledge of Rancher), and breaks out of the bg colour heading style due to the HTML generation logic from mkdocs.
58 lines
1.6 KiB
Markdown
58 lines
1.6 KiB
Markdown
---
|
|
title: 'Advanced | Full-Text Search'
|
|
---
|
|
|
|
## Overview
|
|
|
|
Full-text search allows all messages to be indexed, so that mail clients can quickly and efficiently search messages by their full text content.
|
|
|
|
The [dovecot-solr Plugin](https://wiki2.dovecot.org/Plugins/FTS/Solr) is used in conjunction with [Apache Solr](https://lucene.apache.org/solr/) running in a separate container. This is quite straightforward to setup using the following instructions.
|
|
|
|
## Setup Steps
|
|
|
|
1. `docker-compose.yml`:
|
|
|
|
```yaml
|
|
solr:
|
|
image: lmmdock/dovecot-solr:latest
|
|
volumes:
|
|
- solr-dovecot:/opt/solr/server/solr/dovecot
|
|
restart: always
|
|
|
|
mailserver:
|
|
image: tvial/docker-mailserver:latest
|
|
...
|
|
volumes:
|
|
...
|
|
- ./etc/dovecot/conf.d/10-plugin.conf:/etc/dovecot/conf.d/10-plugin.conf:ro
|
|
...
|
|
|
|
volumes:
|
|
solr-dovecot:
|
|
driver: local
|
|
```
|
|
|
|
2. `etc/dovecot/conf.d/10-plugin.conf`:
|
|
|
|
```conf
|
|
mail_plugins = $mail_plugins fts fts_solr
|
|
|
|
plugin {
|
|
fts = solr
|
|
fts_autoindex = yes
|
|
fts_solr = url=http://solr:8983/solr/dovecot/
|
|
}
|
|
```
|
|
|
|
3. Start the solr container: `docker-compose up -d --remove-orphans solr`
|
|
|
|
4. Restart the mailserver container: `docker-compose restart mailserver`
|
|
|
|
5. Flag all user mailbox FTS indexes as invalid, so they are rescanned on demand when they are next searched: `docker-compose exec mailserver doveadm fts rescan -A`
|
|
|
|
|
|
## Further Discussion
|
|
|
|
See [#905][github-issue-905]
|
|
|
|
[github-issue-905]: https://github.com/docker-mailserver/docker-mailserver/issues/905
|