Migrating from App Search on Elastic Cloudedit

From 7.7.0 onwards, App Search is distributed as Elastic Enterprise Search, a solution which combines Elastic App Search and Elastic Workplace Search into a single package (read the Elastic Cloud announcement). That transition means there is no direct upgrade path from App Search 7.6 to 7.7. Rather, App Search 7.6 users must migrate to Enterprise Search. The following document outlines the migration process.

Before attempting a migration, please ensure you are using the latest 7.x version of Enterprise Search. There are some known issues with migrations to versions before 7.9.1 and versions before 7.9.3.

Always make sure you have the latest backups for your original App Search deployment and do not switch production traffic to Enterprise Search until you have fully vetted its functionality.

Migration process overviewedit

There is an assistant to help you migrate your App Search deployment to Enterprise Search, available when you click on "Upgrade" in your Deployments page. A step-by-step guide to migrating is available:

Upgrade App Search to Enterprise Search

After you begin the migration, there is no "downgrade" support. To restore App Search after migrating, you must start with a clean environment: remove all .ent-search-* and .app-search-* indices. Then restore a snapshot from before the migration and re-install App Search.

Known migration issuesedit

In versions before 7.9.3, there is a known issue around the migration process:

Failing Migrations on Very Large Deploymentsedit

Fixed in 7.9.3.

In versions before 7.9.3, if you create an Enterprise Search deployment from an App Search snapshot or attempt a migration using the provided Elastic Cloud upgrade process, the new deployment may fail to start Enterprise Search instances.

It is a known issue related to the snapshot recovery process on very large deployments and the fact that analytics indexes in App Search are recovered from the snapshot long before system indexes. To help alleviate the issue, you can prepare your App Search deployment for a migration by changing index recovery priorities on your App Search deployment to make sure system indexes are recovered from snapshots before analytics and API logs.

This can be done by running the following Elasticsearch API command on your App Search deployment:

PUT .app-search-*,-.app-search-*-logs-*/_settings
{
  "settings": {
    "index.priority": 101
  }
}

After you perform this command, you will need to take a fresh snapshot before running the upgrade process.

If you still experience the issue, you have a few options:

  1. Re-apply the deployment plan on your new Enterprise Search cluster by clicking "Edit" within Elastic Cloud view of your deployment and then "Save" without making any changes. This will retry the Enterprise Search instance provisioning process and should get your deployment into a healthy state.
  2. Revert to your existing App Search deployment and contact support to assist you with the migration process.

Always remember to disable the read-only mode if you are rolling back to your original App Search deployment.