Migrating Elastic-based search from HCL Commerce Version 9.1 to Commerce+ Transaction Server
Migrate your Elastic-based search solution from HCL Commerce Version 9.1 to Commerce+ Transaction Server. This is the first step in adopting Commerce+ Transaction Server, 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+ Transaction Server 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+ Transaction Server NiFi Registry.
- Update the Commerce+ Transaction Server 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+ Transaction Server 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+ Transaction Server is the first stage of overall Commerce+ Transaction Server adoption when moving up from HCL Commerce Version 9.1. After your customizations are running in the new Commerce+ Transaction Server environment with your existing database type, you can then consider migrating your database to PostgreSQL.
- What does not change for Elastic-based search
-
The following aspects remain identical between Version 9.1 and Commerce+ Transaction Server:
- 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 HCL Commerce+ Transaction Server Liberty to Open Liberty.
- The Java runtime is now OpenJDK instead of IBM HCL Commerce+ Transaction Server JDK.
- The Java version has moved up to Java 21.
- The Elasticsearch runtime has been upgraded to 9.4.2
Procedure
-
Migrate your existing custom NiFi processors into the NiFi
toolkit.
- Install the Commerce+ Transaction Server NiFi toolkit environment and configure it with your target database, refer Commerce+ Transaction Server Developer Elasticsearch-based Search NiFi environment.
- 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, refer Testing your custom Nifi processor.
-
Migrate your existing custom NiFi flows and ingest
connectors.
- Import your custom NiFi flow into the Commerce+ Transaction Server NiFi Registry, and update the Commerce+ Transaction Server NiFi workspace with your custom NiFi flow and ingest connectors, refer ../../tasks/tsdmigrateIngest.html.
- Test the reindex ingest operation by using this newly created NiFi workspace, refer Building the Elasticsearch index.
-
Migrate your custom query logics.
- Install the Commerce+ Transaction Server Query toolkit environment, refer Installing the Commerce+ Transaction Server 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+ Transaction Server with your existing database type, and optionally on PostgreSQL.