Migrating Elastic-based search from HCL Commerce Version 9.1 to Commerce+

Migrate your Elastic-based search solution from HCL Commerce Version 9.1 to Commerce+. This is the first step in adopting Commerce+, letting you run your existing customizations on the new runtime with your current database before you optionally move to PostgreSQL.

Before you begin

Complete the following prerequisites before you begin. These steps are similar to those typically performed when upgrading from one HCL Commerce Version 9.1 fix pack level to another.

Migrating custom NiFi processors

  • Install the Commerce+ NiFi toolkit environment and configure it with your target database from the start.
  • Port existing NiFi custom processors and their corresponding JUnit test cases to this new toolkit.
  • Execute all JUnit test cases to ensure they can run successfully.

Migrating custom NiFi flows

  • Import your custom NiFi flow into the Commerce+ NiFi Registry.
  • Update the Commerce+ NiFi workspace with your custom NiFi flow and ingest connectors.
  • Test the reindex ingest operation by using this newly created NiFi workspace.

Migrating custom query logics

  • Install the Commerce+ Query toolkit environment.
  • Port existing query customizations to the new toolkit.
  • Test the local Query test server inside the new toolkit together with other runtime dependencies, such as Elasticsearch, the Transaction server app, and the Store app.

About this task

Migrating Elastic-based search to Commerce+ is the first stage of overall Commerce+ adoption when moving up from HCL Commerce Version 9.1. After your customizations are running in the new Commerce+ environment with your existing database type, you can then consider migrating your database to PostgreSQL. Moving to PostgreSQL improves runtime performance and lets you take advantage of the new Commerce+ PBC capabilities later.

What does not change for Elastic-based search

The following aspects remain identical between Version 9.1 and Commerce+:

  • Search Query and Ingest REST API - the request signature and response structure remain the same.
  • Search profile structure - the profile definition and profile extension interfaces are unchanged.
  • Search index schemas - the index schemas and their corresponding deployment settings inside Elasticsearch remain the same.
  • Database schema - the database schema and table definitions remain the same.
  • Management Center search tools - search term associations, synonyms, redirect rules, and merchandising rules are unchanged.
What has changed for Elastic-based search
  • The runtime moves from IBM Liberty to Open Liberty.
  • The Java runtime is now OpenJDK instead of IBM JDK.
  • The Java version has moved up to Java 21.
  • The Elasticsearch runtime has been upgraded to 9.4.2
  • PostgreSQL database support has been added to allow easier migration to Commerce+ PBC.

Procedure

  1. Migrate your existing custom NiFi processors into the NiFi toolkit.
  2. Migrate your existing custom NiFi flows and ingest connectors.
  3. Migrate your custom query logics.
    • Install the Commerce+ Query toolkit environment.
    • Port existing query customizations to the new toolkit.
    • Test the local Query test server inside the new toolkit together with other runtime dependencies, such as Elasticsearch, the Transaction server app, and the Store app.

Results

Your Elastic-based search solution now runs on Commerce+ with your existing database type, and optionally on PostgreSQL.