Package org.apache.lucene.index
Class IndexUpgrader
java.lang.Object
org.apache.lucene.index.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 org.apache.lucene.index.IndexUpgrader [-delete-prior-commits] [-verbose] indexDirAlternatively this class can be instantiated and
upgrade()
invoked. It uses UpgradeIndexMergePolicy
and triggers the upgrade via an forceMerge 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 Java code this can be enabled by passing true
to
IndexUpgrader(Directory,Version,PrintStream,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.
-
Constructor Summary
ConstructorsConstructorDescriptionIndexUpgrader
(Directory dir, IndexWriterConfig iwc, boolean deletePriorCommits) Creates index upgrader on the given directory, using anIndexWriter
using the given config.IndexUpgrader
(Directory dir, Version matchVersion) Creates index upgrader on the given directory, using anIndexWriter
using the givenmatchVersion
.IndexUpgrader
(Directory dir, Version matchVersion, PrintStream infoStream, boolean deletePriorCommits) Creates index upgrader on the given directory, using anIndexWriter
using the givenmatchVersion
. -
Method Summary
-
Constructor Details
-
IndexUpgrader
Creates index upgrader on the given directory, using anIndexWriter
using the givenmatchVersion
. The tool refuses to upgrade indexes with multiple commit points. -
IndexUpgrader
public IndexUpgrader(Directory dir, Version matchVersion, PrintStream infoStream, boolean deletePriorCommits) Creates index upgrader on the given directory, using anIndexWriter
using the givenmatchVersion
. You have the possibility to upgrade indexes with multiple commit points by removing all older ones. IfinfoStream
is notnull
, all logging output will be sent to this stream. -
IndexUpgrader
Creates index upgrader on the given directory, using anIndexWriter
using the given config. You have the possibility to upgrade indexes with multiple commit points by removing all older ones.
-
-
Method Details
-
main
Main method to run {code IndexUpgrader} from the command-line.- Throws:
IOException
-
upgrade
Perform the upgrade.- Throws:
IOException
-