HEX
Server: LiteSpeed
System: Linux server.searchcove.com 4.18.0-513.24.1.lve.2.el8.x86_64 #1 SMP Fri May 24 12:42:50 UTC 2024 x86_64
User: lurax (1083)
PHP: 8.3.30
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/share/man/man1/doveadm-fts.1
.TH "DOVEADM-FTS" "1" "October 2025" "65dfbff" "Dovecot"
.SH "NAME"
\fBdoveadm-fts\fR - Manipulate the Full Text Search (FTS) index
.SH "SYNOPSIS"
.P
\fBdoveadm\fR \[lB]\fIGLOBAL OPTIONS\fR\[rB] \fBfts\fR \fIcommand\fR \[lB]\fIOPTIONS\fR\[rB] \[lB]\fIARGUMENTS\fR\[rB]
.SH "DESCRIPTION"
.P
The doveadm fts \fICOMMANDS\fR can be used to manipulate the Full Text Search (FTS) index.
.SH "GLOBAL OPTIONS"
.P
Global doveadm(1) 
.P
\fB-D\fR
.RS 0
.RS 4
.P
Enables \fIverbosity\fR and debug messages.
.RE 0

.RE 0

.P
\fB-O\fR
.RS 0
.RS 4
.P
Do not read any config file, just use defaults. The \fBdovecot_storage_version\fR setting defaults to the latest version, but can be overridden with 
.RE 0

.RE 0

.P
\fB-k\fR
.RS 0
.RS 4
.P
Preserve entire environment for doveadm, not just \fBimport_environment\fR setting.
.RE 0

.RE 0

.P
\fB-v\fR
.RS 0
.RS 4
.P
Enables verbosity, including progress counter.
.RE 0

.RE 0

.P
\fB-i\fR \fIinstance-name\fR
.RS 0
.RS 4
.P
If using multiple Dovecot instances, choose the config file based on this instance name.
.P
See \fBinstance_name\fR setting for more information.
.RE 0

.RE 0

.P
\fB-c\fR \fIconfig-file\fR
.RS 0
.RS 4
.P
Read configuration from the given \fIconfig-file\fR. By default it first reads config socket, and then falls back to \fI/etc/dovecot/dovecot.conf\fR. You can also point this to config socket of some instance running compatible version.
.RE 0

.RE 0

.P
\fB-o\fR \fIsetting\fR\fB=\fR\fIvalue\fR
.RS 0
.RS 4
.P
Overrides the configuration \fIsetting\fR from \fI/etc/dovecot/dovecot.conf\fR and from the userdb with the given \fIvalue\fR. In order to override multiple settings, the \fB-o\fR option may be specified multiple times.
.RE 0

.RE 0

.P
This command uses by default the output formatter \fBflow\fR (without the \fIkey\fR=prefix).
.SH "OPTIONS"
.P
\fB-A\fR
.RS 0
.RS 4
.P
If the \fB-A\fR option is present, the \fIcommand\fR will be performed for all users. Using this option in combination with system users from \fBuserdb { driver = passwd }\fR is not recommended, because it contains also users with a lower UID than the one configured with the \fBfirst_valid_uid\fR setting.
.P
When the SQL userdb module is used, make sure that the \fBuserdb_sql_iterate_query\fR setting setting matches your database layout.
.P
When using the LDAP userdb module, make sure that the \fBuserdb_fields\fR setting and \fBuserdb_ldap_iterate_fields\fR setting settings match your LDAP schema. Otherwise doveadm(1) will be unable to iterate over all users.
.RE 0

.RE 0

.P
\fB-F\fR \fIfile\fR
.RS 0
.RS 4
.P
Execute the \fIcommand\fR for all the users in the \fIfile\fR. This is similar to the \fB-A\fR option, but instead of getting the list of users from the userdb, they are read from the given \fIfile\fR. The \fIfile\fR contains one username per line.
.RE 0

.RE 0

.P
\fB--no-userdb-lookup\fR
.RS 0
.RS 4
.P
Do not perform userdb lookup. Use the \fBUSER\fR environment variable to specify the username.
.RE 0

.RE 0

.P
\fB-S\fR \fIsocket_path\fR
.RS 0
.RS 4
.P
The option's argument is either an absolute path to a local UNIX domain socket, or a hostname and port (\fIhostname\fR:\fIport\fR), in order to connect a remote host via a TCP socket.
.P
This allows an administrator to execute doveadm(1) mail commands through the given socket.
.RE 0

.RE 0

.P
\fB-u\fR \fIuser/mask\fR
.RS 0
.RS 4
.P
Run the \fIcommand\fR only for the given \fIuser\fR. It's also possible to use '\fB*\fR' and '\fB?\fR' wildcards (e.g. -u *@example.org).
.RE 0

.RE 0

.SH "ARGUMENTS"
.P
\fInamespace\fR
.RS 0
.RS 4
.P
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.
.RE 0

.RE 0

.SH "COMMANDS"
.SS "fts optimize"
.P
\fBdoveadm\fR \[lB]\fIGLOBAL OPTIONS\fR\[rB] fts optimize \[lB]\fB-u\fR \fIuser\fR | \fB-A\fR | \fB-F\fR \fIfile\fR | \fB--no-userdb-lookup\fR\[rB] \[lB]\fB-S\fR \fIsocket_path\fR\[rB] \[lB]\fInamespace\fR\[rB]
.P
Optimize the full text search index. This is also done automatically by the full text search engines, but this enforces it to happen.
.SS "fts rescan"
.P
\fBdoveadm\fR \[lB]\fIGLOBAL OPTIONS\fR\[rB] fts rescan \[lB]\fB-u\fR \fIuser\fR | \fB-A\fR | \fB-F\fR \fIfile\fR | \fB--no-userdb-lookup\fR\[rB] \[lB]\fB-S\fR \fIsocket_path\fR\[rB] \[lB]\fInamespace\fR\[rB]
.P
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 \fBdoveadm index\fR 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.
.SS "fts flatcurve check"
.P
\fBdoveadm\fR \[lB]\fIGLOBAL OPTIONS\fR\[rB] fts flatcurve check \[lB]\fB-u\fR \fIuser\fR | \fB-A\fR | \fB-F\fR \fIfile\fR | \fB--no-userdb-lookup\fR\[rB] \[lB]\fB-S\fR \fIsocket_path\fR\[rB] \[lB]\fImailbox\fR ...\[rB]
.P
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 \fB-F\fR command-line option).
.P
\fImailbox\fR is the list of mailboxes to process. It is possible to use wildcards (* and ?) in this value.
.P
For each mailbox that has FTS data, it outputs the following key/value fields:
.P
| 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. |
.SS "fts flatcurve remove"
.P
\fBdoveadm\fR \[lB]\fIGLOBAL OPTIONS\fR\[rB] fts flatcurve remove \[lB]\fB-u\fR \fIuser\fR | \fB-A\fR | \fB-F\fR \fIfile\fR | \fB--no-userdb-lookup\fR\[rB] \[lB]\fB-S\fR \fIsocket_path\fR\[rB] \[lB]\fImailbox\fR ...\[rB]
.P
Removes all FTS data for a mailbox.
.P
\fImailbox\fR is the list of mailboxes to process. It is possible to use wildcards (* and ?) in this value.
.P
For each mailbox removed, it outputs the following key/value fields:
.P
| Key | Value | | --- | ----- | | mailbox | The human-readable mailbox name. (key is hidden) | | guid | The GUID of the mailbox. |
.SS "fts flatcurve rotate"
.P
\fBdoveadm\fR \[lB]\fIGLOBAL OPTIONS\fR\[rB] fts flatcurve rotate \[lB]\fB-u\fR \fIuser\fR | \fB-A\fR | \fB-F\fR \fIfile\fR | \fB--no-userdb-lookup\fR\[rB] \[lB]\fB-S\fR \fIsocket_path\fR\[rB] \[lB]\fImailbox\fR ...\[rB]
.P
Triggers an index rotation for a mailbox.
.P
\fImailbox\fR is the list of mailboxes to process. It is possible to use wildcards (* and ?) in this value.
.P
For each mailbox rotated, it outputs the following key/value fields:
.P
| Key | Value | | --- | ----- | | mailbox | The human-readable mailbox name. (key is hidden) | | guid | The GUID of the mailbox. |
.SS "fts flatcurve stats"
.P
\fBdoveadm\fR \[lB]\fIGLOBAL OPTIONS\fR\[rB] fts flatcurve stats \[lB]\fB-u\fR \fIuser\fR | \fB-A\fR | \fB-F\fR \fIfile\fR | \fB--no-userdb-lookup\fR\[rB] \[lB]\fB-S\fR \fIsocket_path\fR\[rB] \[lB]\fImailbox\fR ...\[rB]
.P
Returns FTS data for a mailbox.
.P
\fImailbox\fR is the list of mailboxes to process. It is possible to use wildcards (* and ?) in this value.
.P
For each mailbox that has FTS data, it outputs the following key/value fields:
.P
| 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. |
.SH "REPORTING BUGS"
.P
Report bugs, including \fIdoveconf -n\fR output, to the Dovecot Mailing List \fI\(ladovecot@dovecot.org\(ra\fR. Information about reporting bugs is available at: https://dovecot.org/bugreport.html
.SH "SEE ALSO"
.P
doveadm(1), doveadm-search-query(7)
.P
Additional resources:
.RS 0
.IP \(bu 4
fts plugin documentation
.RE 0