Upgrade/Migrate Lucene Indexes

The update 7.0u20230621 upgrades the library Apache Lucene from the version 5.5 to 8.11. This change causes that neither Data Catalog nor Scheduler can use the indexes generated with Denodo 7.0u20220531 or earlier.

The update 7.0u20230621 includes a tool that modifies the existing indexes to be accessible again.

Follow these steps to use this tool:

  1. Decompress the file <DENODO_HOME>/tools/scheduler/denodo-lucene-migrator-tool

  2. Stop Scheduler Index: run <DENODO_HOME>/bin/arnindex_shutdown.

  3. Run the script <DENODO_HOME>/tools/scheduler/denodo-lucene-migrator-tool/bin/lucene-migrator

Syntax of the “lucene-migrator” script
lucene-migrator [-?] -f <from_lucene_version> [-nb] -p <path_to_index> -t <to_lucene_version>

? prints the help (usage).

-f <from_lucene_version>: current Lucene version of the index to be migrated (Minimum version is 4).

-t <to_lucene_version>: desired Lucene version to migrate the index to (Maximum version is 8).

-p <path_to_index>: path of the index to be migrated.

-nb: optional. Do not generate backup of the current index. By default, if this option is not supplied, the current index folder is renamed to <path_to_index>.lucene-<from_lucene_version>.backup.

Examples of using the script “lucene-migrator”

Example 1

cd tools/scheduler/denodo-lucene-migrator-tool/bin
./lucene-migrator -f 5 -t 8 -p "/opt/denodo/path/to/my/index/"

This command does this:

  • Upgrades the index of the path /opt/denodo/path/to/my/index from Lucene version 5 to version 8.

  • Keeps a backup the current index in the folder /opt/denodo/path/to/my/index.lucene-5.backup

Example 2

cd tools/scheduler/denodo-lucene-migrator-tool/bin
./lucene-migrator -f 5 -t 8 -p "/opt/denodo/path/to/my/index" -nb

This command does the same as “Example #1” but without creating a backup.


With this tool, you can migrate indexes created with a Lucene version to another Lucene version.

As the Lucene’s version before Denodo 7.0u20230621 is 5.5, in most cases you have to execute the script with -f 5 and -t 8.

If your indexes were generated with Denodo 6.0 or earlier, they might have been created using Lucene 4.x. In that case, use -f 4.

Add feedback