IndexUpgraderTool
Lucene ディストリビューションには、以前の Lucene バージョンから現在のファイル形式にインデックスをアップグレードするツールが含まれています。
このツールは、コマンドラインから使用することも、Java でインスタンス化して実行することもできます。
インデックスは、前のメジャーリリースバージョンから現在のメジャーリリースバージョンにのみアップグレードできます。 これは、たとえば、Solr 8.x リリースの IndexUpgraderTool は 7.x リリースからのインデックスでのみ機能し、Solr 6.x 以前からのインデックスでは機能しないことを意味します。 Solr 6x から Solr 8x に移行するなど、現在、2 つ以上のメジャーバージョン前のリリースを使用している場合は、コンテンツを再インデックスする必要があります。 IndexUpgraderTool は、1 つのセグメントに強制マージ(最適化)を実行しますが、これは望ましくない場合があります。 |
Solr ディストリビューションでは、Lucene ファイルは ./server/solr-webapp/webapp/WEB-INF/lib
にあります。ツールを実行するときは、クラスパスに lucene-core-<version>.jar
と lucene-backwards-codecs-<version>.jar
を含める必要があります。
java -cp lucene-core-9.9.2.jar:lucene-backward-codecs-9.9.2.jar org.apache.lucene.index.IndexUpgrader [-delete-prior-commits] [-verbose] /path/to/index
このツールは、インデックス内の最後のコミットのみを保持します。このため、入力インデックスに複数のコミットがある場合、ツールはデフォルトで実行を拒否します。これをオーバーライドするには、-delete-prior-commits
を指定して、ツールが最後のコミットを除くすべてを削除できるようにします。
大規模なインデックスのアップグレードには時間がかかる場合があります。経験則として、アップグレードプロセスは 1 分あたり約 1 GB です。
インデックスが実行前に部分的にアップグレードされた場合(たとえば、ドキュメントが追加された場合)、このツールはドキュメントの順序を変更する場合があります。アプリケーションがドキュメント ID の単調性(つまり、ドキュメントがインデックスに追加された順序が保持される)に依存している場合は、代わりに完全な最適化を実行してください。 |