Class IndexUpgrader
This is an easy-to-use tool that upgrades all segments of an index from previous Lucene versions to the current segment file format. It can be used from command line:
java -cp lucene-core.jar Lucene.Net.Index.IndexUpgrader [-delete-prior-commits] [-verbose] indexDir
Alternatively this class can be instantiated and Upgrade() invoked. It uses UpgradeIndexMergePolicy and triggers the upgrade via an ForceMerge(Int32) request to IndexWriter.
This tool keeps only the last commit in an index; for this
reason, if the incoming index has more than one commit, the tool
refuses to run by default. Specify -delete-prior-commits
to override this, allowing the tool to delete all but the last commit.
From .NET code this can be enabled by passing true
to
IndexUpgrader(Directory, LuceneVersion, TextWriter, Boolean).
Warning: this tool may reorder documents if the index was partially upgraded before execution (e.g., documents were added). If your application relies on "monotonicity" of doc IDs (which means that the order in which the documents were added to the index is preserved), do a full ForceMerge instead. The MergePolicy set by IndexWriterConfig may also reorder documents.
Inheritance
Assembly: DistributedLucene.Net.dll
Syntax
public sealed class IndexUpgrader : object
Constructors
Name | Description |
---|---|
IndexUpgrader(Directory, IndexWriterConfig, Boolean) | Creates index upgrader on the given directory, using an IndexWriter using the given config. You have the possibility to upgrade indexes with multiple commit points by removing all older ones. |
IndexUpgrader(Directory, LuceneVersion) | Creates index upgrader on the given directory, using an IndexWriter using the given
|
IndexUpgrader(Directory, LuceneVersion, TextWriter, Boolean) | Creates index upgrader on the given directory, using an IndexWriter using the given
|
Methods
Name | Description |
---|---|
Main(String[]) | Main method to run IndexUpgrader from the command-line. |
ParseArgs(String[]) | |
Upgrade() | Perform the upgrade. |