man: update mu-index manpage

Make it a bit more explicit what we ignore.
This commit is contained in:
Dirk-Jan C. Binnema
2025-05-31 08:40:53 +03:00
parent 9496d6523d
commit cc10fbd22a

View File

@ -12,56 +12,57 @@ mu-index - index e-mail messages stored in Maildirs
* DESCRIPTION * DESCRIPTION
*mu index* is the *mu* command for scanning the contents of Maildir directories and *mu index* is the *mu* command for scanning the messages in Maildir directories and
storing the results in a Xapian database. The data can then be queried using storing the results in a Xapian database. The data can then be queried using
{{{man-link(mu-find,1)}}}. {{{man-link(mu-find,1)}}}.
Before the first time you run *mu index*, you must run *mu init* to initialize the Before you can run *mu index*, you must initialize *mu* and its database with
database. {{{man-link(mu-init,1)}}}.
*index* understands Maildirs as defined by Daniel Bernstein for *mu index* understands Maildirs as defined by Daniel Bernstein for
{{{man-link(qmail,7)}}}. In addition, it understands recursive Maildirs {{{man-link(qmail,7)}}}. In addition, it understands recursive Maildirs
(Maildirs within Maildirs), Maildir++. It also supports VFAT-based Maildirs (Maildirs within Maildirs), Maildir++. It also supports VFAT-based Maildirs
which use *!* or *;* as the separators instead of *:*. which use "*!"* or "*;"* as the separators, instead of the standard "*:"*.
E-mail messages which are not stored in something resembling a maildir E-mail messages are only considered for indexing if they reside in a directory
leaf-directory (_cur_ and _new_) are ignored, as are the cache directories for named either ~cur~ or ~new~. The special (as per the Maildir-specification)
_notmuch_ and _gnus_, and any dot-directory. directory ~tmp~ is ignored, as are some cache directories for some other
mail-clients. Other directories are scanned recursively.
Symlinks are followed, and the directories can be spread over multiple Symbolic links are followed, and the directories can be spread over multiple
filesystems; however note that moving files around is much faster when multiple filesystems; however, note that moving files around is much faster when they all
filesystems are not involved. Be careful to avoid self-referential symlinks! reside on a single file-system. Be careful to avoid self-referential symlinks!
If there is a file called _.noindex_ in a directory, the contents of that If there is a file called ~.noindex~ in a directory, the contents of that
directory and all of its subdirectories will be ignored. This can be useful to directory and all of its subdirectories will be ignored. This can be useful to
exclude certain directories from the indexing process, for example directories exclude certain directories from the indexing process, for example directories
with spam-messages. with spam-messages.
If there is a file called _.noupdate_ in a directory, the contents of that If there is a file called ~.noupdate~ in a directory, the contents of that
directory and all of its subdirectories will be ignored. This can be useful to directory and all of its subdirectories will be ignored. This can be useful to
speed up things you have some maildirs that never change. speed up things you have some maildirs that never change.
_.noupdate_ does not affect already-indexed messages: you can still search for ~.noupdate~ does not affect already-indexed messages: you can still search for
them. _.noupdate_ is ignored when you start indexing with an empty database (such them. ~.noupdate~ is ignored when you start indexing with an empty database (such
as directly after *mu init*). as directly after *mu init*).
There also the option *--lazy-check* which can greatly speed up indexing; see There also the option *--lazy-check* which can greatly speed up indexing; see
below for details. below for details.
The first run of *mu index* may take a few minutes if you have a lot of mail (tens A first run of *mu index* may take a few minutes if you have a lot of mail (tens
of thousands of messages). Fortunately, such a full scan needs to be done only or hundreds of thousands of messages). Fortunately, such a full scan needs to be
once; after that it suffices to index the changes, which goes much faster. See done only rarely; after that, it suffices to index just the changes, which goes
the `PERFORMANCE (i,ii,iii)' below for more information. much faster. See *PERFORMANCE (i,ii,iii)* below for more information.
The optional `phase two' of the indexing-process is the removal of messages from The optional cleanup-phase of the indexing-process is the removal of messages
the database for which there is no longer a corresponding file in the Maildir. from the database for which there is no longer a corresponding file in the
If you do not want this, you can use *-n*, *--nocleanup*. Maildir. If you do not want this, you can use *-n*, *--nocleanup*.
When *mu index* catches one of the signals *SIGINT*, *SIGHUP* or *SIGTERM* (e.g., when When *mu index* catches one of the signals *SIGINT*, *SIGHUP* or *SIGTERM* (e.g., when
you press *Ctrl-C* during the indexing process), it attempts to shutdown you press *Ctrl-C* during the indexing process), it attempts to shutdown
gracefully; it tries to save and commit data, and close the database etc. If it gracefully: save and commit data and close the database etc. If it receives
receives another signal (e.g., when pressing Ctrl-C once more), *mu index* will another signal (e.g., when pressing Ctrl-C once more), *mu index* will terminate
terminate immediately. immediately.
* INDEX OPTIONS * INDEX OPTIONS
@ -210,7 +211,7 @@ Indexing the the same 93000-message mail corpus with the last few releases:
Quite some variation! Quite some variation!
Over time new features / refactoring can change the timings quite a bit. At Over time new features / refactoring can change the timings quite a bit. At
least for now, the latest code is both the fastest and the most featureful! least for now, the latest code is both the fastest and the most feature-rich.
#+include: "exit-code.inc" :minlevel 1 #+include: "exit-code.inc" :minlevel 1