fixIndex

Repairs the index using previously returned result
from checkIndex(). Note that this does not
remove any of the unreferenced files after it's done;
you must separately open an IndexWriter, which
deletes unreferenced files when it's created.

WARNING: this writes a
new segments file into the index, effectively removing
all documents in broken segments from the index.
BE CAREFUL.

WARNING: Make sure you only call this when the
index is not opened by any writer.

-segment X: only check the specified
segment(s). This can be specified multiple times,
to check more than one segment, eg -segment _2
-segment _a. You can't use this with the -fix
option.

WARNING: -fix should only be used on an emergency basis as it will cause
documents (perhaps many) to be permanently removed from the index. Always make
a backup copy of your index before running this! Do not run this tool on an index
that is actively being written to. You have been warned!

Run without -fix, this tool will open the index, report version information
and report any exceptions it hits and what action it would take if -fix were
specified. With -fix, this tool will remove any segments that have issues and
write a new segments_N file. This means all documents contained in the affected
segments will be removed.

This tool exits with exit code 1 if the index cannot be opened or has any
corruption, else 0.