Announcement: You can find the guides for Commerce 7.5 and later on the new Elastic Path Documentation site. The Developer Center continues to support Commerce 6.13.0 through 7.4.1.Visit new site

Updating a Search Server Cluster

Updating a Search Server Cluster

  1. Halt any user updates to the system and ensure no changes via the Commerce Manager, Import/Export or Data Sync tool are in progress
  2. Ensure the indexing activity is complete for all indexes by checking the indexing status in CM's Configuration section under Search Indexes.
  3. Back up all existing indexes by calling the following links. These links will call the SOLR replication API:
    http://master_host:port/searchserver/category/replication?command=backup
    http://master_host:port/searchserver/cmuser/replication?command=backup
    http://master_host:port/searchserver/customer/replication?command=backup
    http://master_host:port/searchserver/dynamicContentDelivery/replication?command=backup
    http://master_host:port/searchserver/product/replication?command=backup
    http://master_host:port/searchserver/promotion/replication?command=backup
    http://master_host:port/searchserver/shippingservicelevel/replication?command=backup
    http://master_host:port/searchserver/sku/replication?command=backup
  4. Disable replication on the slave servers by calling the following links. Make sure this is done for all slaves.
    http://slave_host:port/searchserver/category/replication?command=disablepoll
    http://slave_host:port/searchserver/cmuser/replication?command=disablepoll
    http://slave_host:port/searchserver/customer/replication?command=disablepoll
    http://slave_host:port/searchserver/dynamicContentDelivery/replication?command=disablepoll
    http://slave_host:port/searchserver/product/replication?command=disablepoll
    http://slave_host:port/searchserver/promotion/replication?command=disablepoll
    http://slave_host:port/searchserver/shippingservicelevel/replication?command=disablepoll
    http://slave_host:port/searchserver/sku/replication?command=disablepoll
  5. Shut down, update, and restart the master search server:
    1. Shut down the application server.
    2. Redeploy the updated search server war.
    3. Restart the application server.
      Note:

      If your search indexes are normally located within the searchserver/WEB-INF folder, you may need to restore them from your back up location or do a full rebuild

  6. Rebuild any indexes that would be affected by the update via the Commerce Manager. For step-by-step instructions on how to do this, see Requesting Search Index Rebuilds.
  7. Verify the master indexes. Since the master server is a full search instance, you can check its state by doing one of the following:
    1. Issuing manual SOLR queries.
    2. By redirecting Cortex server instance to point to the master instead of a slave.
  8. Do one of the following:
    1. If you are applying code updates to the slave servers, do the following for all slaves:
      1. Remove the slave from the search cluster.
      2. Shutdown the server.
      3. Redeploy the updated search server war.
      4. Restart the server. The restarted slave will immediately begin polling the master for index updates on startup.
      5. Restore the slave to the search cluster.
    2. If you are not updating the slave servers, resume index replication by calling the following links for all slaves:
      http://slave_host:port/searchserver/category/replication?command=enablepoll
      http://slave_host:port/searchserver/cmuser/replication?command=enablepoll
      http://slave_host:port/searchserver/customer/replication?command=enablepoll
      http://slave_host:port/searchserver/dynamicContentDelivery/replication?command=enablepoll
      http://slave_host:port/searchserver/product/replication?command=enablepoll
      http://slave_host:port/searchserver/promotion/replication?command=enablepoll
      http://slave_host:port/searchserver/shippingservicelevel/replication?command=enablepoll
      http://slave_host:port/searchserver/sku/replication?command=enablepoll