App Search is now available on Elastic Cloud. Migrating from Swiftype.com to Elastic Cloud is possible today, and should be approached on an engine-by-engine basis. Learn more about App Search on Elastic Cloud’s Elasticsearch Service.
When provisioning App Search for Elastic Cloud, you’ll need App Search and Elasticsearch nodes.
App Search uses an Elasticsearch node to store everything, including your documents, logs, and analytics. You’ll spin up Elasticsearch nodes with your App Search instance in Elastic Cloud.
To determine how much storage you’ll need, you can start with a general rule of thumb: multiply the number of documents across all engines by 250kb.
Migrations with less than 100,000 documents should be handled well by the default deployment in Elastic Cloud. If you’re dealing with more than 100,000 documents, you may want to consider increasing your storage. Additionally, if you have analytics or log retention requirements, you’ll need to account for those when provisioning storage.
Provisioning an App Search deployment on Elastic Cloud requires manual resource management. Notably:
- analytics and logging index sizes must be managed manually
- storage should be monitored closely during initial document ingestion
- CPU usage should be monitored closely once the new Engine is receiving production traffic
For each Engine, you’ll be migrating Engine-level settings, adding the new Engine as an additional ingestion endpoint, backfilling documents, and then updating the query and ingestion clients to point to the new Engine.
Documents should be imported to your new App Search on Elastic Cloud engines from the canonical data store, not from the existing App Search Engine
- Analytics cannot be migrated. If you need access to historical analytics, you should export them using the Analytics API.
- The newly created Engine will have new API tokens.
Step 1. Create the Engine to be migrated in App Search on Elastic Cloud.
Step 2. Migrate the Schema by using the Schema API to read settings from the Swiftype.com Engine and write those same settings to the Elastic Cloud Engine. Learn more about working with the Schema API.
Step 3. Migrate Search Settings, Curations, and Synonyms data by using the various settings APIs to read settings from the Swiftype.com Engine and write those same settings to the Elastic Cloud Engine.
Step 5. Update ingestion clients in production with additional API keys and endpoints to send writes to both Engines: the original Engine in App Search on Swiftype.com and the new Engine in App Search on Elastic Cloud.
Step 6. Backfill documents to the new Engine in App Search on Elastic Cloud from the canonical data store.
Step 7. Once there is parity between the two Engines, change all client API keys and enpoints in production to send queries and writes to the new Engine on Elastic Cloud.
Step 8. Export analytics from App Search on Swiftype.com as a backup. Learn more about the Analytics API.
Step 9. Validate that the original Engine is no longer active by making sure there are no new events in the API logs.
You should verify that Engines on Swiftype.com are not receiving queries and writes before decommissioning your Swiftype.com account.
Once you’ve migrated all your engines to Elastic Cloud, you may want to consider decommissioning your App Search account on Swiftype.com.
If your account is billed monthly, you should be able to close your account from within the App Search dashboard. Visit your account settings to proceed.
If your account is billed annually, you may need to contact your account representative. Visit Elastic support.