Documentation Center

Migrating data from Fredhopper to OpenSearch as part of your upgrade from SDL Web 8.5

When upgrading from SDL Web 8.5, you need to migrate essential data from Fredhopper to OpenSearch.

Before you begin

Before you migrate data to OpenSearch, you must have first:

  • Completed the upgrade from the previous version of Experience Optimization (or SmartTarget) to SDL Tridion Sites 9.5.
  • Create new OpenSearch indexes using the scripts provided on your installation media. Before proceeding with this migration, the indexes should be empty.

About this task

The migration is a one-time task that is required to extract existing Promotions, Triggers, and other data from the previous Fredhopper solution and add it to your newly configured OpenSearch index.

The migration tool consists of the following two JAR files:
  • smarttarget-migration-extension.jar—A RESTful service extension to Fredhopper, which gets documents from the Fredhopper system and displays them in JSON format. (This JAR is compatible with Java 7 or Java 8 for the legacy Fredhopper).
  • smarttarget-migrate.jar—A command-line application that exports data from Fredhopper to a file system and then imports data from the file system to OpenSearch. (This JAR is compatible with Java 11 for the upgraded system).

Procedure

  1. Access your installation media and go to the following folder:

    Content Delivery\roles\xo\migration\

  2. Copy the entire folder to a location of your choice. The only requirement is for Java 11 to be installed and running at this location.
  3. Copy the smarttarget-migration-extension.jar file to the following location on your Fredhopper indexer instance:

    FREDHOPPER-ROOT\data\instances\<INDEX>\custom\

    Where FREDHOPPER-ROOT is the root of your Fredhopper Access Server machine.

  4. Restart the Fredhopper indexer instance.
  5. From the location where you copied the migration\ folder, open the migration.properties and edit the following:
    fredhopper.base.url
    The URL of the Fredhopper instance FROM which you are migrating data.
    The default is: http://localhost:8180
    elastic.base.url
    The URL of the OpenSearch instance TO which you are migrating data.
    The default is: http://localhost:9200
    tmp.storage.path
    The temporary location where the migration tool puts the data it gets from Fredhopper.
    The location must be a writable path. The default location is ./intermediate and thus a folder is created in the current location.
  6. If you have configured an index prefix (which should be the case if Experience Optimizationand the normal Search feature share the same OpenSearch instance), apply this index prefix throughout the migration.properties file.
  7. Check the migration.properties file for any other properties that need configuration, and modify them as needed. Save the file.
  8. From a Windows command prompt, go to the migration\ folder, and run the following command to export Promotions and Items from Fredhopper:
    java -jar smarttarget-migrate.jar -config=migration.properties -export
    The tool creates export packages in the temporary location you specified in the migration.properties file.
  9. From the same location, run the following command to import the Promotions and Items to OpenSearch:
    java -jar smarttarget-migrate.jar -config=migration.properties -import

Results

The Promotions, Triggers, and other data that were stored in your Fredhopper solution are now migrated and available in the OpenSearch index.