]> Sergey Matveev's repositories - public-inbox.git/blobdiff - Documentation/public-inbox-extindex.pod
lei: always use 3-arg open perlop
[public-inbox.git] / Documentation / public-inbox-extindex.pod
index bed65272838a03e083c918bf2287d1ede3217607..9731dfb0d2a77e03fb342b3f65da9a1bad7d80b0 100644 (file)
@@ -10,9 +10,6 @@ public-inbox-extindex [OPTIONS] [EXTINDEX_DIR] --all
 
 =head1 DESCRIPTION
 
-FIXME: behavior not finalized  It should probably write to the
-config file the first time --all is used.
-
 public-inbox-extindex creates and updates an external search and
 overview database used by the read-only public-inbox PSGI (HTTP),
 NNTP, and IMAP interfaces.  This requires either the
@@ -23,10 +20,45 @@ along with L<DBD::SQLite> and L<DBI> Perl modules.
 
 =over
 
-=item --jobs=JOBS, -j
+=item -j JOBS
+
+=item --jobs=JOBS
 
 ... TODO, see L<public-inbox-index(5)>
 
+=item --all
+
+Index all C<publicinbox> entries in C<PI_CONFIG>.
+
+C<publicinbox> entries indexed by C<public-inbox-extindex> can
+have full Xapian searching abilities with the per-C<publicinbox>
+C<indexlevel> set to C<basic> and their respective Xapian
+(C<xap15> or C<xapian15>) directories removed.  For multiple
+public-inboxes where cross-posting is common, this allows
+significant space savings on Xapian indices.
+
+=item --gc
+
+Perform garbage collection instead of indexing.  Use this if
+inboxes are removed from the extindex, or if messages are
+purged or removed from some inboxes.
+
+=item --reindex
+
+Forces a re-index of all messages in the extindex.  This can be
+used for in-place upgrades and bugfixes while read-only server
+processes are utilizing the index.  Keep in mind this roughly
+doubles the size of the already-large Xapian database.
+
+The extindex locks will be released roughly every 10s to
+allow L<public-inbox-mda(1)> and L<public-inbox-watch(1)>
+processes to write to the extindex.
+
+=item --fast
+
+Used with C<--reindex>, it will only look for new and stale
+entries and not touch already-indexed messages.
+
 =back
 
 =head1 FILES
@@ -35,7 +67,19 @@ L<public-inbox-extindex-format(5)>
 
 =head1 CONFIGURATION
 
-... TODO, see L<public-inbox-index(5)>
+public-inbox-extindex does not currently write to the
+L<public-inbox-config(5)> file, configuration may be entered
+manually.  The extindex name of C<all> is a special case which
+corresponds to indexing C<--all> inboxes.  An example for
+C<--all> is as follows:
+
+       [extindex "all"]
+               topdir = /path/to/extindex_dir
+               url = all
+               coderepo = foo
+               coderepo = bar
+
+See L<public-inbox-config(5)> for more details.
 
 =head1 ENVIRONMENT