mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2024-01-19 02:48:50 +00:00
52 lines
1.3 KiB
Markdown
52 lines
1.3 KiB
Markdown
Full-text search allows all messages to be indexed, so that mail clients can quickly and efficiently search messages by their full text content.
|
|
|
|
## Overview
|
|
|
|
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:
|
|
|
|
```
|
|
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`:
|
|
```
|
|
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 on #905 |