File: //usr/share/man/man1/doveadm-indexer.1
.TH "DOVEADM-INDEXER" "1" "October 2025" "65dfbff" "Dovecot"
.SH "NAME"
\fBdoveadm-indexer\fR - Commands related to managing the indexer process
.SH "SYNOPSIS"
.P
\fBdoveadm\fR \[lB]\fIGLOBAL OPTIONS\fR\[rB] \fBindexer\fR \fIcommand\fR \[lB]\fIOPTIONS\fR\[rB] \[lB]\fIARGUMENTS\fR\[rB]
.SH "DESCRIPTION"
.P
\fBdoveadm indexer\fR can be used to manage the indexer process.
.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
\fB-f\fR \fIformatter\fR
.RS 0
.RS 4
.P
Specifies the \fIformatter\fR for formatting the output. Supported formatters are:
.P
\fBflow\fR
.RS 4
.P
prints each line with \fIkey\fR\fB=\fR\fIvalue\fR pairs.
.RE 0
.P
\fBjson\fR
.RS 4
.P
prints a JSON array of JSON objects.
.RE 0
.P
\fBpager\fR
.RS 4
.P
prints each \fIkey\fR: \fIvalue\fR pair on its own line and separates records with form feed character (\fB^L\fR).
.RE 0
.P
\fBtab\fR
.RS 4
.P
prints a table header followed by tab separated value lines.
.RE 0
.P
\fBtable\fR
.RS 4
.P
prints a table header followed by adjusted value lines.
.RE 0
.RE 0
.RE 0
.SH "COMMANDS"
.SS "indexer add"
.P
\fBdoveadm\fR \[lB]\fIGLOBAL OPTIONS\fR\[rB] indexer add \[lB]\fB-h\fR\[rB] \[lB]\fB-n\fR \fImax_recent\fR\[rB] \fIuser\fR \fImailbox\fR
.P
Add indexing request for the given \fIuser\fR and the \fImailbox\fR to the indexer queue. It works the same as the \fBdoveadm index -q\fR command.
.P
\fB-h\fR
.RS 0
.RS 4
.P
Add the indexing request to the head of the queue. By default the request is added to the tail of the queue.
.RE 0
.RE 0
.P
\fB-n\fR \fImax_recent\fR
.RS 0
.RS 4
.P
An integer value, which specifies the maximum number of \[rs]Recent messages in mailboxes. If the mailbox contains more than \fImax_recent\fR messages with \[rs]Recent flag set, the mailbox will not be indexed. This may be useful to avoid unnecessary indexing for large mailboxes that are never opened.
.RE 0
.RE 0
.SS "indexer remove"
.P
\fBdoveadm\fR \[lB]\fIGLOBAL OPTIONS\fR\[rB] indexer remove \fIuser_mask\fR \[lB]\fImailbox_mask\fR\[rB]
.P
Remove all indexer requests for the matching \fIuser_mask\fR (and \fImailbox_mask\fR). It's possible to use wildcards. Requests that are currently processed by indexer-worker are not listed; use \fBdoveadm kick\fR instead to kick them.
.SS "indexer list"
.P
\fBdoveadm\fR \[lB]\fIGLOBAL OPTIONS\fR\[rB] indexer list \fIuser_mask\fR
.P
List all the queued indexing requests matching \fIuser_mask\fR. It's possible to use wildcards. Requests that are currently processed by indexer-worker are not listed; use \fBdoveadm who\fR instead to see them.
.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)