Command-line interface to check and fix an index.
///
/// Run it like this:
///
/// java -ea:Lucene.Net... Lucene.Net.Index.CheckIndex pathToIndex [-fix] [-segment X] [-segment Y]
///
///
/// -fix
: actually write a new segments_N file, removing any problematic segments
/// -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.
///
[STAThread]
public static void Main(System.String[] args)
{
bool doFix = false;
IList