As part of a Sitecore migration (8.2 to 9.0.1) we had a requirement to migrate a sizeable xDB implementation. The xDB data migration tool makes this super easy. It reads straight out of your existing mongoDB and pushes it to xConnect. As new contacts and interactions are pushed to the 9.0.1 xDB (in our case in Azure SQLDB) the indexer service will pick up the changes and update the appropriate index. Sweet!
So what happens if you want to change your search provider from Solr to Azure Search? It stands to reason that you should just be able to hook up Azure Search in xConnect in a similar way to the core role indexes (check out Azure Search on Sitecore 9) with the appropriate Configs and connection strings, then rebuild the search index. One problem, there are some serious caveats on the xDB index rebuild for Azure search. They are alluded to in the Rebuild the xDB Search index documentation (Update May 2018: The doco has been updated and is much clearer now!), but may need some further clarification. Important points:
- A full xDB index rebuild is not supported on Azure Search as of 9.0.1. That means that if you want to rebuild the xDB search with historical data, it’s not supported out of the box. Please note though that the indexer will rebuild the index for everything that is still available in the change tracking log in the SQL db (by default this is a 5 day retention). But anything before that will not be included.
- This may not be a deal-breaker for a migration as your data will be indexed as the xDB migration tool pulls everything across. Just plan your migration accordingly with the limitations in mind.
- This will affect anyone looking to switch from Solr to Azure search on 9.0.1
- There is probably some potential to code this yourself!
- Sitecore support have it as a feature planned for 9.0.2, so may be best to hold tight for now and get support ootb.
- I’m hoping the doco gets updated to be a bit more clear as a few in the community have been thrown by this. (Update May 2018: it has been!)