]> Sergey Matveev's repositories - public-inbox.git/blobdiff - Documentation/public-inbox-index.pod
doc: expand on indexBatchSize regarding fragmentation
[public-inbox.git] / Documentation / public-inbox-index.pod
index 3ae3b0089275a5a60195cd169f12d65c6019fdbe..936516f808eaa52b15b4248a2ea91317cfbfae8d 100644 (file)
@@ -6,6 +6,8 @@ public-inbox-index - create and update search indices
 
 public-inbox-index [OPTIONS] INBOX_DIR...
 
+public-inbox-index [OPTIONS] --all
+
 =head1 DESCRIPTION
 
 public-inbox-index creates and updates the search, overview and
@@ -37,8 +39,12 @@ normal search functionality.
 Influences the number of Xapian indexing shards in a
 (L<public-inbox-v2-format(5)>) inbox.
 
+See L<public-inbox-init(1)/--jobs> for a full description
+of sharding.
+
 C<--jobs=0> is accepted as of public-inbox 1.6.0 (PENDING)
-to disable parallel indexing.
+to disable parallel indexing regardless of the number of
+pre-existing shards.
 
 If the inbox has not been indexed or initialized, C<JOBS - 1>
 shards will be created (one job is always needed for indexing
@@ -81,6 +87,12 @@ This does not touch the NNTP article number database.
 It does not affect threading unless C<--rethread> is
 used.
 
+=item --all
+
+Index all inboxes configured in ~/.public-inbox/config.
+This is an alternative to specifying individual inboxes directories
+on the command-line.
+
 =item --rethread
 
 Regenerate internal THREADID and message thread associations
@@ -117,15 +129,20 @@ below.
 
 When using rotational storage but abundant RAM, using a large
 value (e.g. C<500m>) with C<--sequential-shard> can
-significantly speed up the initial index and full C<--reindex>
-invocations (but not incremental updates).
+significantly speed up and reduce fragmentation during the
+initial index and full C<--reindex> invocations (but not
+incremental updates).
 
 Available in public-inbox 1.6.0 (PENDING).
 
 =item --no-fsync
 
 Disables L<fsync(2)> and L<fdatasync(2)> operations on SQLite
-and Xapian.  This is only effective with Xapian 1.4+.
+and Xapian.  This is only effective with Xapian 1.4+.  This is
+primarily intended for systems with low RAM and the small
+(default) C<--batch-size=1m>.  Users of large C<--batch-size>
+may even find disabling L<fdatasync(2)> causes too much dirty
+data to accumulate, resulting on latency spikes from writeback.
 
 Available in public-inbox 1.6.0 (PENDING).
 
@@ -137,6 +154,14 @@ below.
 
 Available in public-inbox 1.6.0 (PENDING).
 
+=item --skip-docdata
+
+Stop storing document data in Xapian on an existing inbox.
+
+See L<public-inbox-init(1)/--skip-docdata> for description and caveats.
+
+Available in public-inbox 1.6.0 (PENDING).
+
 =back
 
 =head1 FILES
@@ -158,7 +183,11 @@ value.  A single suffix modifier of C<k>, C<m> or C<g> is
 supported, thus the value of C<1m> to prevents indexing of
 messages larger than one megabyte.
 
-This is useful for avoiding memory exhaustion in mirrors.
+This is useful for avoiding memory exhaustion in mirrors
+via git.  It does not prevent L<public-inbox-mda(1)> or
+L<public-inbox-watch(1)> from importing (and indexing)
+a message.
+
 This option is only available in public-inbox 1.5 or later.
 
 Default: none
@@ -179,7 +208,7 @@ C<4m> have little benefit.
 For L<public-inbox-v2-format(5)> inboxes, this value is
 multiplied by the number of Xapian shards.  Thus a typical v2
 inbox with 3 shards will flush every 3 megabytes by default
-when unless parallelism is disabled via C<--sequential-shard>
+unless parallelism is disabled via C<--sequential-shard>
 or C<--jobs=0>.
 
 This influences memory usage of Xapian, but it is not exact.