The SolrCloud Search Service Adapter connects the Intershop Commerce Management (ICM) with a Solr server that runs in cloud mode. The search index configuration and maintenance in the ICM back office uses the Schema- and ConfigSet-REST-APIs provided by Solr. Thus, the Solr server is separate and independent of the ICM application server cluster.
Intershop Commerce Management | SolrCloud Search Service Adapter | Solr Server |
---|---|---|
12.0+ | 5.1.0 | 8.11 |
Please see Reference - ICM 12 Release Versions for versions that are released and tested together.
The following table lists the cartridges contained in the SolrCloud Adapter:
Cartridge | Description | Required |
---|---|---|
ac_solr_cloud | The main implementation cartridge of the adapter defining and registering the search service. | |
ac_solr_cloud_bo | Additional functionality for the Commerce Management application. It provides additional configuration options for the index management, especially for suggest and spell-check. |
Follow the basic setup of ICM 12 customization described in Concept - Customization - Deployment - ICM 11+ to add the customization cartridges to ICM and to the cartridge list.
Add the ft_solr_cloud
feature to the cartridge list:
environment: CARTRIDGE_LIST: "ft_demo_search ft_headless ft_solr_cloud"
Add the Solr adapter to the customizations section of the helm chart:
... customizations: solrcloud: repository: intershophub/icm-as-customization-f_solrcloud:5.0.0 ....
The following environment variables show the setup of the most common options:
environment: SOLR_CLOUDSOLRSERVERURLS: "https://slr-test-slr-test-solrcloud.test.intershop.com/solr" SOLR_CLUSTERINDEXPREFIX: "cstmr-int-ed" SOLR_COLLECTIONREPLICATIONFACTOR: 2 SOLR_CLOUDBACKUPLOCATION: "/var/solr/data/backup-restore/local-collection-backups-1" SOLR_BASICAUTH: "solr:SolrIsAwesome!"
The environment variables in detail (from top to bottom):
With SolrCloud Adapter 5 it is required to configure a common Solr service URL with SOLR_CLOUDSOLRSERVERURLS
instead of a connection to a list of zookeeper hosts. (required)
The cluster index prefix is required to distinguish the indexes from multiple ICM systems, e.g., if data replication is used. (optional on development environment)
The recommendation for the replication factor is 2 to have redundancy of indexes on two nodes. This way, there is always an index online even if the Solr cluster is restarted with a rolling restart. (Set to 1 if there is only a single Solr, e.g., in development environments.)
A backup location is needed if data replication for search indexes is used.
In general, basic authentication is used for the connection from ICM to the Solr server. To set the user/password for the basic authentication, add it to the environment.
The basic authentication user and password string can also be used from a generic secret instead of adding it as plain text in the environment:
secrets: - env: SOLR_BASICAUTH name: icm-secrets key: solr_basicauth
The adapter comes with an initial Solr configset configuration that is prepared in sites/root/1/solrcloud. If the customization is added after database initialization, it is important to execute the initialization for the ac_solr_cloud
to make this configuration available.
Enable the managed services in Intershop Organization Management (Operations), see Intershop Organization Management Help | Managing Services.
Create search services in the organization and channels, see Intershop Commerce Management Help | Managing Search Index Services.
Create and manage search indexes, see Intershop Commerce Management Help | Managing Search Indexes.
The SolrCloud Search Service Adapter 5 connects the Intershop Commerce Management (ICM) with Apache Solr to provide integrated search and navigation capabilities based on ICM's managed search service integration framework. The adapter provides the full backend feature set as known from
ID | Title |
---|---|
Add MasterSKU attribute to product index by default | |
Move Solr schema synchronization to configuration saving/indexing |
Initial version for ICM 12 - derived from 4.7.1