Scroll to navigation

DOVEADM-FTS(1) Dovecot DOVEADM-FTS(1)

NAME

doveadm-fts - Manipulate the Full Text Search (FTS) index

SYNOPSIS

doveadm [GLOBAL OPTIONS] fts command [OPTIONS] [ARGUMENTS]

DESCRIPTION

The doveadm fts COMMANDS can be used to manipulate the Full Text Search (FTS) index.

GLOBAL OPTIONS

Global doveadm(1)

-D

Enables verbosity and debug messages.

-O

Do not read any config file, just use defaults. The dovecot_storage_version setting defaults to the latest version, but can be overridden with

-k

Preserve entire environment for doveadm, not just import_environment setting.

-v

Enables verbosity, including progress counter.

-i instance-name

If using multiple Dovecot instances, choose the config file based on this instance name.

See instance_name setting for more information.

-c config-file

Read configuration from the given config-file. By default it first reads config socket, and then falls back to /etc/dovecot/dovecot.conf. You can also point this to config socket of some instance running compatible version.

-o setting=value

Overrides the configuration setting from /etc/dovecot/dovecot.conf and from the userdb with the given value. In order to override multiple settings, the -o option may be specified multiple times.

This command uses by default the output formatter flow (without the key=prefix).

OPTIONS

-A

If the -A option is present, the command will be performed for all users. Using this option in combination with system users from userdb { driver = passwd } is not recommended, because it contains also users with a lower UID than the one configured with the first_valid_uid setting.

When the SQL userdb module is used, make sure that the userdb_sql_iterate_query setting setting matches your database layout.

When using the LDAP userdb module, make sure that the userdb_fields setting and userdb_ldap_iterate_fields setting settings match your LDAP schema. Otherwise doveadm(1) will be unable to iterate over all users.

-F file

Execute the command for all the users in the file. This is similar to the -A option, but instead of getting the list of users from the userdb, they are read from the given file. The file contains one username per line.

--no-userdb-lookup

Do not perform userdb lookup. Use the USER environment variable to specify the username.

-S socket_path

The option's argument is either an absolute path to a local UNIX domain socket, or a hostname and port (hostname:port), in order to connect a remote host via a TCP socket.

This allows an administrator to execute doveadm(1) mail commands through the given socket.

-u user/mask

Run the command only for the given user. It's also possible to use '*' and '?' wildcards (e.g. -u *@example.org).

ARGUMENTS

namespace

The name of a namespace, e.g. the name of the shared namespace. When no namespace was given, the user's private namespace will be used.

COMMANDS

fts optimize

doveadm [GLOBAL OPTIONS] fts optimize [-u user | -A | -F file | --no-userdb-lookup] [-S socket_path] [namespace]

Optimize the full text search index. This is also done automatically by the full text search engines, but this enforces it to happen.

fts rescan

doveadm [GLOBAL OPTIONS] fts rescan [-u user | -A | -F file | --no-userdb-lookup] [-S socket_path] [namespace]

Scan what mails exist in the full text search index and compare those to what actually exist in mailboxes. This removes mails from the index that have already been expunged and makes sure that the next doveadm index will index all the missing mails (if any). Note that currently most FTS drivers do not implement this properly, but instead they delete all the FTS indexes. This may change in the future versions.

fts flatcurve check

doveadm [GLOBAL OPTIONS] fts flatcurve check [-u user | -A | -F file | --no-userdb-lookup] [-S socket_path] [mailbox ...]

Run a simple check on Dovecot Xapian databases, and attempt to fix basic errors (it is the same checking done by the xapian-check command with the -F command-line option).

mailbox is the list of mailboxes to process. It is possible to use wildcards (* and ?) in this value.

For each mailbox that has FTS data, it outputs the following key/value fields:

| Key | Value | | --- | ----- | | mailbox | The human-readable mailbox name. (key is hidden) | | guid | The GUID of the mailbox. | | errors | The number of errors reported by the Xapian library. | | shards | The number of index shards processed. |

fts flatcurve remove

doveadm [GLOBAL OPTIONS] fts flatcurve remove [-u user | -A | -F file | --no-userdb-lookup] [-S socket_path] [mailbox ...]

Removes all FTS data for a mailbox.

mailbox is the list of mailboxes to process. It is possible to use wildcards (* and ?) in this value.

For each mailbox removed, it outputs the following key/value fields:

| Key | Value | | --- | ----- | | mailbox | The human-readable mailbox name. (key is hidden) | | guid | The GUID of the mailbox. |

fts flatcurve rotate

doveadm [GLOBAL OPTIONS] fts flatcurve rotate [-u user | -A | -F file | --no-userdb-lookup] [-S socket_path] [mailbox ...]

Triggers an index rotation for a mailbox.

mailbox is the list of mailboxes to process. It is possible to use wildcards (* and ?) in this value.

For each mailbox rotated, it outputs the following key/value fields:

| Key | Value | | --- | ----- | | mailbox | The human-readable mailbox name. (key is hidden) | | guid | The GUID of the mailbox. |

fts flatcurve stats

doveadm [GLOBAL OPTIONS] fts flatcurve stats [-u user | -A | -F file | --no-userdb-lookup] [-S socket_path] [mailbox ...]

Returns FTS data for a mailbox.

mailbox is the list of mailboxes to process. It is possible to use wildcards (* and ?) in this value.

For each mailbox that has FTS data, it outputs the following key/value fields:

| Key | Value | | --- | ----- | | mailbox | The human-readable mailbox name. (key is hidden) | | guid | The GUID of the mailbox. | | last_uid | The last UID indexed in the mailbox. | | messages | The number of messages indexed in the mailbox. | | shards | The number of index shards. | | version | The (Dovecot internal) version of the FTS data. |

REPORTING BUGS

Report bugs, including doveconf -n output, to the Dovecot Mailing List ⟨dovecot@dovecot.org⟩. Information about reporting bugs is available at: https://dovecot.org/bugreport.html

SEE ALSO

doveadm(1), doveadm-search-query(7)

Additional resources:

fts plugin documentation
October 2025 65dfbff